Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 78 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
78
Dung lượng
7,65 MB
Nội dung
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 KHĨA LUẬN TỐT NGHIỆP NGÀNH KỸ THUẬT DỮ LIỆU TÌM HIỂU HỌC SÂU VÀ XÂY DỰNG ỨNG DỤNG DỰ ĐỐN HÌNH ẢNH ĐƯỢC VẼ BẰNG CỬ CHỈ GVHD: TS TRẦN NHẬT QUANG SVTH: NGUYỄN ĐỨC THUẬN SKL009459 Tp.Hồ Chí Minh, năm 2022 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HCM KHOA CÔNG NGHỆ THÔNG TIN NGUYỄN ĐỨC THUẬN: 18130043 ĐỀ TÀI: TÌM HIỂU HỌC SÂU VÀ XÂY DỰNG ỨNG DỤNG DỰ ĐỐN HÌNH ẢNH ĐƯỢC VẼ BẰNG CỬ CHỈ GIÁO VIÊN HƯỚNG DẪN TS TRẦN NHẬT QUANG KHÓA 2018 - 2022 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HCM KHOA CÔNG NGHỆ THÔNG TIN NGUYỄN ĐỨC THUẬN: 18130043 ĐỀ TÀI: TÌM HIỂU HỌC SÂU VÀ XÂY DỰNG ỨNG DỤNG DỰ ĐỐN HÌNH ẢNH ĐƯỢC VẼ BẰNG CỬ CHỈ GIÁO VIÊN HƯỚNG DẪN TS TRẦN NHẬT QUANG KHÓA 2018 - 2022 ĐẠI HỌC SPKT TP HCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA CNTT Độc lập – Tự – Hạnh phúc ********** ********** PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Họ và tên Sinh viên: Nguyễn Đức Thuận MSSV: 18130043 Ngành: Kỹ Thuật Dữ Liệu Tên đề tài: Tìm hiểu học sâu xây dựng ứng dụng dự đốn hình ảnh vẽ cử Họ tên Giáo viên hướng dẫn: Trần Nhật Quang Học vị: Tiến sĩ NHẬN XÉT: Về nội dung đề tài khối lượng thực hiện: Ưu điểm: Khuyết điểm: Đề nghị cho bảo vệ hay không? Đánh giá loại: Điểm: TP HCM, ngày tháng năm 2022 Giáo viên hướng dẫn TS Trần Nhật Quang ĐẠI HỌC SPKT TP HCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA CNTT Độc lập – Tự – Hạnh phúc ********** ********** PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN Họ và tên Sinh viên: Nguyễn Đức Thuận MSSV: 18130043 Ngành: Kỹ Thuật Dữ Liệu Tên đề tài: Tìm hiểu học sâu xây dựng ứng dụng dự đốn hình ảnh vẽ cử Họ tên Giáo viên phản biện: Võ Xuân Thể Học vị: Tiến sĩ NHẬN XÉT: Nội dung đề tài mức độ thực hiện đề tài: Ưu điểm: Khuyết điểm: Đề nghị cho bảo vệ hay không? Đánh giá loại: Điểm: TP HCM, ngày tháng năm 2022 Giáo viên phản biện TS Võ Xuân Thể LỜI CAM ĐOAN Luận văn này là cơng trình nghiên cứu tơi, thực hiện hướng dẫn khoa học TS.Trần Nhật Quang Các số liệu, những kết luận nghiên cứu trình bày luận văn này hoàn toàn trung thực Tơi xin hồn tồn chịu trách nhiệm lời cam đoan này Sinh viên Nguyễn Đức Thuận LỜI CẢM ƠN Để hoàn thành luận văn tốt nghiệp này trước tiên nhóm xin gửi lời cảm ơn đến Khoa Công Nghệ Thông Tin – Trường Đại học Sư Phạm Kỹ Thuật đã tạo điều kiện cho nhóm học tập, phát triển và thực hiện tốt luận văn này Bên cạnh đó nhóm xin gửi lời cảm ơn đến thầy Trần Nhật Quang là người đã tận tình hướng dẫn, giúp đỡ nhóm hoàn thành luận văn tốt nghiệp này śt q trình học tập và phát triển tảng kiến thức tốt Nhờ có tảng kiến thức chuyên ngành truyền đạt lại từ giảng viên nhà trường và không ít kinh nghiệp rèn luyện từ những bài tập chuyên ngành Cùng đồng hành những giảng viên khoa, đặc biệt là thầy Trần Nhật Quang và bạn bè đã giúp nhóm có lượng kiến thức rộng lớn để có thể áp dụng cho công việc ở bên ngoài nhà trường Nhờ nhóm đã có thể thực hiện xong luận văn tốt nghiệp và dùng những kiến thức tích trữ để có thể sử dụng công việc tương lai sau này Trong trình hồn thiện đề tài, nhóm cũng gặp nhiều khó khăn, lượng kiến thức khổng lồ trí tuệ nhân tạo và cụ thể là TensorFlow ứng dụng lý thuyết Vì vậy, mong mọi người thơng cảm góp ý sản phẩm có những sai sót để nhóm cải thiện phát triển sản phẩm hoàn thiện cách tốt Cuối lời cam kết nhóm chúng em nội dung trình bày hoàn toàn chúng em thực hiện, phần trích dẫn đề ghi rõ phần tài liệu tham khảo Mọi sai sót liên quan đến nội dung chúng em xin chịu trách nhiệm Chân thành cảm ơn thầy cô, bạn bè đã tạo điều kiện cho chúng em hoàn thành đề tài cách tốt đẹp ĐỀ CƯƠNG LUẬN VĂN TỐT NGHIỆP Họ và tên Sinh viên: Nguyễn Đức Thuận MSSV: 18130043 Thời gian làm luận văn : từ : Tuần Đến : Tuần 15 Ngành: Kỹ Thuật Dữ Liệu Tên đề tài: Tìm hiểu học sâu xây dựng ứng dụng dự đoán hình ảnh vẽ cử GV hướng dẫn: Ts Trần Nhật Quang Nhiệm vụ luận văn: Tìm hiểu nghiên cứu thị giác máy tính, học sâu (deep learning) phương pháp học sâu Giao tiếp với máy tính thông qua phương thức thủ ngữ (cử chỉ) Xây dựng ứng dụng vẽ hình ảnh cử Huấn lụn mơ hình nhận diện hình vẽ cho máy tính Từ ứng dụng nhận diện phát triển thành ứng dụng vẽ hình ảnh cử kết hợp nhận diện hình ảnh cử Đề cương viết luận văn có bố cục sau: PHẦN MỞ ĐẦU Lý chọn đề đề tài Ý nghĩa khoa học thực tiễn Mục tiêu nhiệm vụ nghiên cứu Mơ tả tốn Kết dự kiến đạt PHẦN NỘI DUNG Chương 1: sở lý thuyết 1.1 Neural network 1.2 Deep learning 1.3 Tổng quan xử lý ảnh 1.4 Thuật tốn tới ưu 1.5 Transfer learning data augmentatio Chương 2: áp dụng vào nhận diện hình ảnh cử 2.1 Giới thiệu tensorflow 2.2 Vẽ hình ảnh thủ ngữ 2.3 Áp dụng cho tốn nhận diện hình vẽ cử 2.4 Ứng dụng nhận diện hình ảnh vẽ cử PHẦN KẾT LUẬN Kết đạt Hạn chế Hướng phát triển DANH MỤC TÀI LIỆU THAM KHẢO KẾ HOẠCH THỰC HIỆN STT Thời gian Công việc Tuần Xác định đề tài nghiên cứu Tuần Tìm hiểu đề tài bắt đầu nghiên cứu Tuần Tìm hiểu tốn nhận diện hình ảnh Tuần Tìm hiểu kiến thức xử lý ảnh Tuần Tuần Tuần Tuần Tìm hiểu kiến thức mạng thần kinh nhân tạo, học sâu Chuẩn bị môi trường làm việc Chuẩn bị ứng dụng vẽ hình ảnh cử đã xây dựng từ trước Tiến hành thu thập hình vẽ kỹ thuật data augmentation Ghi Tiến hành huấn luyện mô hình nhận diện Tuần 10 Tuần 10 11 Tuần 11 12 Tuần 12 Kiểm tra hiệu thực tế ứng dụng 13 Tuần 13 Viết báo cáo 14 Tuần 14 Tinh chỉnh ứng dụng, sửa viết báo cáo 15 Tuần 15 Hoàn thành project báo cáo hình vẽ Chỉnh sửa tham sớ, tăng sớ lượng dữ liệu, tiếp tục huấn lụn mơ hình Áp dụng mơ hình nhận diện hình vẽ vào ứng dụng vẽ hình ảnh cử TP HCM, ngày tháng năm 2022 Người viết đề cương Nguyễn Đức Thuận Ý kiến giáo viên hướng dẫn (Ký ghi rõ họ tên) Hình 56: label sử dụng huấn luyện Lý cho việc lựa chọn những loại hình ảnh chúng dễ vẽ cần ít nét để vẽ nên phù hợp với đề tài nghiên cứu này Ngoài để tiết kiệm thời gian tài nguyên cho máy tính 2.3.4 Mơ hình Sau chuẩn bị tập dữ liệu, tơi tiến hành huấn lụn mơ hình sử dụng thuật tốn tối ưu Adam tập dữ liệu train, sau đó đánh giá mơ hình tập validation với độ đo Accuracy 51 Hình 57: Huấn luyện đánh giá mơ hình Kết cho thấy thuật tốn Adam đã hoạt động hiệu tập dữ liệu tơi, độ xác việc dự đốn đạt tới 95% Do đó co thể áp dụng mô hình vào tốn “nhận diện hình vẽ cử chỉ” Vì dữ liệu lớn nên thời gian huấn luyện vô lâu nên thử nghiệm thuật toán hiệu lý thuyết thuật tốn Adam Nếu có thêm thời gian, tơi thực hiện nhiều thuật tốn khác để đưa so sánh và nhận định chính xác 2.3.5 Tensorboard Như đã giới thiệu, tensorflow hiệu cũng cung cấp nhiều cơng cụ để chúng tơi huấn lụn mơ hình Chúng sử dụng tensorboad để theo dõi hàm Loss mơ hình Khi hàm Loss giảm dần đến và ổn định, chúng ta có thể kết luận step lớn đó là mơ hình đã huấn lụn xong 52 Hình 58: Tensorboard mơ hình 2.4 ỨNG DỤNG NHẬN DIỆN HÌNH ẢNH VẼ BẰNG CỬ CHỈ 2.4.1 Áp dụng mơ hình huấn luyện vào ứng dụng Sau đã huấn lụn mơ hình, ta áp dụng vào ứng dụng vẽ hình ảnh cử đã có từ trước 53 Hình 59: File pre-trained Ứng dụng vẽ hình ảnh thủ ngữ đã xây dựng từ trước cho phép ta vẽ hình ảnh thơng qua việc đóng mở bàn tay Do đó ta có thể vẽ nhiều nét nhằm tăng độ chi tiết cho hình vẽ Để sử dụng, ta cần vẽ hình ảnh thủ ngữ qua camera Hình 60: Vẽ Ứng dụng cần gọi lại mô hình đã huấn luyện sử dụng nó để nhận diện hình ảnh ta vẽ xong Khi hồn thành hình vẽ, ta nhấn nút spacebar để ứng dụng quét hình vừa vẽ, sau đó máy tính xử lý và đưa dự đốn hình vẽ ta dựa 18 loại hình ảnh đã huấn lụn 54 Hình 61: Nhận diện ngơi 2.4.2 Workflow ứng dụng Quy trình làm việc ứng dụng tóm tắt sau: 55 Hình 62: Workflow ứng dụng 2.4.3 Đánh giá hiệu thực tế mơ hình Mơ hình đạt hiệu 95% lý thuyết, nhiên ta cần phải kiểm nghiệm mơ hình thực tế để đảm bảo tính xác cho ứng dụng Khi áp dụng mơ hình vào ứng dụng, tơi đã test tất 18 nhãn hình ảnh với sớ lượng 10 lần mỗi nhãn (tổng cộng 180 lần test) Thực hiện test môi trường lý tưởng với ánh sáng đầy đủ background khơng q phức tạp 56 Hình 63: test ứng dụng thực tế Độ chính xác là độ đo để đánh giá mơ hình tính cơng thức: 𝑎𝑐𝑢𝑟𝑟𝑎𝑐𝑦(%) = 𝑋 × 100% 𝑌 Trong đó: - 𝑎𝑐𝑢𝑟𝑟𝑎𝑐𝑦: Độ xác - 𝑋: Sớ lần nhận dạng đúng - 𝑌: Tổng số mẫu kiểm chứng Dưới là bảng kết test thực tế ứng dụng: Bảng 2: kết test thực tế Các nhãn hình ảnh Apple Book Bowtie Candle Cloud Nhận diện đúng 10 10 10 10 Nhận diện sai 0 0 57 Không nhận diện 0 0 Tổng 10 10 10 10 10 Độ xác 100% 100% 80% 100% 100% Cup Door Envelope Eywglasses Hammer Hat Ice cream Leaf Scissors Star T-shirt Pant Tree Trung bình 10 10 10 10 10 10 10 10 0 1 0 0 0 0 0 0 0 9.444444444 0.444444444 0.111111111 10 10 10 10 10 10 10 10 10 10 10 10 10 100% 100% 100% 90% 80% 100% 80% 100% 90% 100% 100% 100% 80% 10 94.44% Với độ chính xác đạt 94.44%, không chênh lệch đáng kể so với độ xác đo tập validation Kết cho thấy áp dụng mơ hình vào ứng dụng cho chạy thực tế, độ xác mơ hình đạt là tương đới ổn, Một sớ hình ảnh test thực tế ứng dụng nhận diện hình vẽ cử chỉ: Hình 64: Vẽ nhận diện ngơi 58 Hình 65: Vẽ nhận diện quần Hình 66: Vẽ nhận diện táo 59 Hình 67: Vẽ nhận diện Nhận xét: - Ứng dụng đáp ứng yêu cầu vẽ hình ảnh cử theo thời gian thực điều kiện lý tưởng - Có thể nhận diện gần chính xác hình vẽ - Độ xác nhận diện hình vẽ ở mức chưa tụt đới chấp nhận - Có thể cải thiện độ xác cách đánh nhãn những hình ảnh mỗi sử dụng ứng dụng sử dụng chúng để ứng dụng học theo thời gian thực cải tiến ngày Tuy nhiên đó lại tốn khác, cần có thêm thời gian để nghiên cứu hồn thiện 2.4.4 Đánh giá vai trị thuật tốn Adam huấn luyện mơ hình nhận diện hình ảnh Đầu tiên phải nói tính tiện lợi thuật tốn tới ưu Adam, framework tích hợp sẵn thư viện tensorflow, giúp cho việc sử dụng toán mạng neural nhân tạo hay nhận diện hình ảnh trở nên vơ dễ dàng với vài câu lệnh và thao tác đơn giản 60 Thứ hai tính tương thích với phần cứng, huấn lụn mơ hình Adam GPU, mơ hình chạy vơ ổn định hồn tồn khơng sảy hiện tượng bị q tải hay xung đột Phần cứng sử dụng là card đồ họa Nvidia GTX 1650 Hình 68: GPU sử dụng Ći mơ hình Adam thích hợp với dữ liệu lớn rời rạc Cần lưu ý mơ hình Adam gây hiện tượng overfitting dữ liệu chưa đủ lớn, trường hợp đó có thể cân nhắc sử dụng thuật toán khác Ở đồ án này, sử dụng tệp dữ liệu Quickdraw_bitmap với sớ lượng khoảng 50 triệu hình ảnh, hiện tượng overfitting đã không sảy với lượng dữ liệu lớn 61 PHẦN KẾT LUẬN KẾT QUẢ ĐẠT ĐƯỢC Sau thực hiện xong đề tài, phải kể đến những kết đạt sau: - Tìm hiểu và trình bày kiến thức mạng neural nhân tạo, xử lý ảnh, thuật tốn tới ưu và thuật tốn Adam - Xây dựng ứng dụng vẽ hình ảnh từ thủ ngữ qua camera - Ứng dụng có thể nhận diện chính xác hình vẽ từ thủ ngữ HẠN CHẾ Sau thực hiện xong đề tài, có số hạn chế phải kể như: - Một sớ kiến thức thuật tốn chưa trình bày chi tiết - Phần cứng hạn chế, toàn q trình xây dựng ứng dụng, huấn lụn mơ hình, chạy test thử thực hiện laptop với camera tệ và cấu hình ở mức đủ dùng - Mơ hình huấn lụn có độ chính xác chưa tuyệt đối thiếu hụt mặt dữ liệu, hiệu máy tính xử lý và kinh nghiệm thực tế - Việc triển khai mơ hình dự đốn ở mức độ thử nghiệm, chưa ứng dụng vào thực tế để quan sát hiệu đề tài - Ứng dụng dừng ở mức độ nghiện cứu, chưa có tính ứng dụng cao Chưa phát triển ứng dụng hoàn thiện để đưa vào sử dụng HƯỚNG PHÁT TRIỂN Do kiến thức hạn chết và không có nhiều thời gian nghiên cứu nên đề tài dừng lại ở việc dự đốn hình ảnh cử Tuy nhiên mong muốn có thể phát triển ứng dụng hoàn thiện và có nhiều tính ứng dụng Vì hướng phát triển cụ thể chúng là cải thiện từ ứng dụng nhận diện nét vẽ cử có thể kết hợp với nhiều tảng và phần cứng khác để có thể đưa vào ứng dụng đời sống Ngoài ra, không muốn ứng dụng dừng lại ở việc nhận diện hình vẽ, mà nó cịn có thể dự đốn hình vẽ từ trước ta vẽ xong hay xa nữa là điều khiển thiết bị thông qua thủ ngữ 62 Trong tương lai có đủ thời gian và nguồn lực, phát triển dự án này theo đúng hướng mà mong muốn 63 DANH MỤC TÀI LIỆU THAM KHẢO [1] Understanding The Recognition Pattern Of AI, Ron Schmelzer https://www.forbes.com/sites/cognitiveworld/2020/05/09/understanding-the-recognition-pattern-ofai/?sh=4d733d1621c7 [2] Deep Learing bản, Nttuan8 https://nttuan8.com/category/deep-learning/ [3] Artificial neural network, cộng đồng Wikipedia https://en.wikipedia.org/wiki/Artificial_neural_network [4] [Deep Learning] - Thuật toán Faster R-CNN - Faster R-CNNobject detection algorithm for Ninedash-line detection!, Phan Huy Hoang https://viblo.asia/p/deep-learning-thuat-toan-faster-rcnn-voi-bai-toan-phat-hien-duong-luoi-bofaster-rcnn-object-detection-algorithm-for-nine-dash-line-detection-bJzKmREOZ9N [5] Tìm hiểu Neural Network: Perceptron, xuanchien https://chienuit.wordpress.com/2015/08/28/tim-hieu-ve-neural-network-perceptron/ [6] Lecture 11 | Detection and Segmentation, Justin Johnson https://www.youtube.com/watch?v=nDPWywWRIRo&ab_channel=StanfordUniversitySchoolofEn gineering [7] TensorFlow.js guide https://www.tensorflow.org/js/guide [8] Adam, Akash Ajagekar https://optimization.cbe.cornell.edu/index.php?title=Adam [9] Optimizer- Hiểu sâu thuật tốn tới ưu, Tran Trung Truc https://viblo.asia/p/optimizer-hieu-sau-ve-cac-thuat-toan-toi-uu-gdsgdadam-Qbq5QQ9E5D8 [10] Thuật tốn tới ưu adam, Phan Ngoc https://viblo.asia/p/thuat-toan-toi-uu-adam-aWj53k8Q56m [11] Adam Optimization Algorithm, Quang Tran https://tnquangblog.wordpress.com/2021/06/21/adam-optimization-algorithm/ 64 S K L 0