BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN CƠ SỞ Tìm hiểu R CNN ứng dụng phát hiện có xe hơi trên đường Giảng viên hướng dẫn Th S Vương Xuân Chí Sinh viên th. Chương 1 Giới thiệu Artificial Intelligence, Machine learning, Deep learning 1.1 Artificial Intelligence Kể từ khi phát minh ra máy tính hoặc máy móc, khả năng thực hiện các nhiệm vụ khác nhau của họ đã tăng lên theo cấp số nhân. Con người đã phát triển sức mạnh của hệ thống máy tính về các lĩnh vực làm việc đa dạng, tốc độ ngày càng tăng và giảm kích thước theo thời gian. Một nhánh của Khoa học Máy tính có tên Trí tuệ nhân tạo theo đuổi việc tạo ra các máy tính hoặc máy móc thông minh như con người. 1.1.1 AI Trí tuệ nhân tạo là gì? Theo cha đẻ của Trí tuệ nhân tạo, John McCarthy, đó là “Khoa học và kỹ thuật tạo ra các máy thông minh, đặc biệt là các chương trình máy tính thông minh”. Trí tuệ nhân tạo là một cách làm cho một máy tính, một robot điều khiển bằng máy tính hoặc một phần mềm suy nghĩ một cách thông minh, theo cách tương tự như suy nghĩ của con người thông minh. AI được hoàn thiện bằng cách nghiên cứu cách bộ não con người suy nghĩ và cách con người học, quyết định và làm việc trong khi cố gắng giải quyết một vấn đề, sau đó sử dụng kết quả của nghiên cứu này làm cơ sở phát triển phần mềm và hệ thống thông minh. 1.1.2 Triết lý về AI Trong khi khai thác sức mạnh của hệ thống máy tính, sự tò mò của con người khiến anh ta tự hỏi, “Liệu một cỗ máy có thể suy nghĩ và hành xử như con người không?” Do đó, sự phát triển của AI bắt đầu với ý định tạo ra trí thông minh tương tự trong các máy móc mà chúng ta tìm thấy và đánh giá cao ở con người. 1.1.3 Mục tiêu của AI Tạo ra hệ thống Chuyên gia: Hệ thống thể hiện hành vi thông minh, học hỏi, chứng minh, giải thích và tư vấn cho người dùng của nó.
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN CƠ SỞ Tìm hiểu R-CNN ứng dụng phát có xe đường Giảng viên hướng dẫn: Th.S Vương Xuân Chí Sinh viên thực hiện: Hồng Quốc Hải MSSV: 2000002072 Chuyên ngành: Khoa học Dữ liệu Môn học: Đồ án Cơ sở Khóa: 2020 – 2024 TP.HCM, tháng năm 2022 Trường Đại học Nguyễn Tất Thành - Kết luận YÊU CẦU: Khoa Công Nghệ Thông Tin 🙜🙜🙜🙜 - CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc 🙜🙜🙜🙜 - NHIỆM VỤ ĐỒ ÁN CHUYÊN NGÀNH/CƠ SỞ (Sinh viên phải đóng tờ vào báo cáo) Có kiến thức, đam mê, hiểu biết công nghệ Mạng neural, Machine Learning, Deep Learning… Đọc hiểu tài liệu tiếng Anh, kỹ trình bày văn máy tính tốt Có tác phong làm việc chăm chỉ, tinh thần trách nhiệm cao, có khả làm việc độc lập làm việc nhóm tốt Nội dung u cầu thơng qua Bộ mơn Họ tên: Hồng Quốc Hải MSSV: 2000002072 Chuyên nghành: Khoa học Dữ liệu Lớp: 20DTH1D Q TRƯỞNG BỘ MÔN Email: hai.hoang.2762@gmail.com SĐT: 0379813013 (Ký ghi rõ họ tên) Tên đề tài: Tìm hiểu R-CNN ứng dụng phát có xe đường TP.HCM, ngày 26 tháng 06 năm 2022 GIÁO VIÊN HƯỚNG DẪN (Ký ghi rõ họ tên) Giá viên hướng dẫn: Vương Xuân Chí Thời gian thực hiện: 20/6/2022 đến 20/9/2022 ThS Vương Xn Chí MƠ TẢ ĐỀ TÀI: Deep Learning nhánh Machine Learning sử dụng mạng lưới thần kinh với nhiều lớp Một mạng lưới thần kinh sâu phân tích liệu với biểu diễn học tương tự cách người nhìn vào vấn đề NỘI DUNG VÀ PHƯƠNG PHÁP: - - - Giới thiệu học sâu Deep learning, phương pháp tiếp cận học máy Machine learning R-CNN sử dụng Selective Search để extract regions từ image đầu vào check xuất object, tìm specific features để detect objects Đưa ý tưởng để xây dựng ứng dụng phát có xe đường ThS Vương Xuân Chí LỜI CẢM ƠN Lời đầu tiên, xin gửi lời cảm ơn đến gia đình em, gia đình ln tạo điều kiện, động lực quý báu cho em trình học tập hoàn thành báo cáo Tiếp theo, xin gửi đến lòng biết ơn sâu sắc đến giảng viên Vương Xuân Chí Khoa CNTT Trường Đại học Nguyễn Thành người hướng dẫn, giúp đỡ em trình hồn thiện báo cáo LỜI MỞI ĐẦU Với phát triển xã hội đại, AI – Artifical Intelligence Trí tuệ nhân tạo khơng cịn xa lạ với Chúng diện phổ biến lĩnh vực sống chúng ta, từ kinh tế, giáo dục, y khoa, giải trí qn quốc phịng quốc gia Theo đó, bùng nổ liệu lớn Big Data giúp cho việc khai thác sử dụng chúng trở nên phổ biến dễ dàng Các phần cứng để sử dụng cho mục đích phát triển ứng dụng liên quan đến AI ngày rẻ hiệu năng tốt góp phần phổ biến đến người dùng Từ sáng tạo, tham gia phát triển AI phục vụ người lĩnh vực NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN Điểm đồ án: TPHCM, Ngày …… tháng …… năm… Giáo viên hướng dẫn (Ký tên, đóng dấu) MỤC LỤC Chương Giới thiệu Artificial Intelligence, Machine learning, Deep learning 1.1 Artificial Intelligence 1 1.1.1 AI - Trí tuệ nhân tạo gì? 1.1.2 Triết lý AI 1.1.3 Mục tiêu AI 1.1.4 Những đóng góp AI 1.1.5 Các loại AI 1.1.6 Ứng dụng AI 1.1.7 Trí tuệ nhân tạo hoạt động nào? 1.1.8 Các cách triển khai AI 2.1 Machine learning 2.1.1 Machine Learning gì? 2.1.2 Một số định nghĩa 2.1.3 Quy trình học máy 2.1.4 Các loại học máy 2.1.5 Các vấn đề giải học máy 3.1 Deep learning 10 3.1.1 Deep Learning gì? 10 3.1.2 Neural Networks 11 3.1.3 Deep Learning hoạt động nào? 12 3.1.4 Các loại mạng nơ-ron 14 Chương R-CNN 18 Chương Ý tưởng ứng dụng phát xe 19 Chương Kết luận 20 Chương Tài liệu tham khảo 20 DANH MỤC BẢNG HÌNH Hình Những đóng góp AI Hình Machine Learning gì? Hình Quy trình học máy Hình Supervised Learning Hình Unsupervised Learning Hình Các vấn đề giải học máy Hình Trí tuệ nhân tạo so với Học máy Học sâu 11 Hình Các thành phần mạng thần kinh nhân tạo 12 Hình Kiến trúc Deep neural network 13 Hình 10 Forward propagation in neural networks 14 Hình 11 Convolutional Neural Networks 15 Hình 12 The Recurrent Neural Networks architecture 16 Hình 13 Generative adversarial networks 17 Hình 14 Transformer Neural Networks 18 Hình 15 R-CNN 19 Chương Giới thiệu Artificial Intelligence, Machine learning, Deep learning 1.1 Artificial Intelligence Kể từ phát minh máy tính máy móc, khả thực nhiệm vụ khác họ tăng lên theo cấp số nhân Con người phát triển sức mạnh hệ thống máy tính lĩnh vực làm việc đa dạng, tốc độ ngày tăng giảm kích thước theo thời gian Một nhánh Khoa học Máy tính có tên Trí tuệ nhân tạo theo đuổi việc tạo máy tính máy móc thơng minh người 1.1.1 AI - Trí tuệ nhân tạo gì? Theo cha đẻ Trí tuệ nhân tạo, John McCarthy, “Khoa học kỹ thuật tạo máy thông minh, đặc biệt chương trình máy tính thơng minh” Trí tuệ nhân tạo cách làm cho máy tính, robot điều khiển máy tính phần mềm suy nghĩ cách thông minh, theo cách tương tự suy nghĩ người thông minh AI hoàn thiện cách nghiên cứu cách não người suy nghĩ cách người học, định làm việc cố gắng giải vấn đề, sau sử dụng kết nghiên cứu làm sở phát triển phần mềm hệ thống thông minh 1.1.2 Triết lý AI Trong khai thác sức mạnh hệ thống máy tính, tò mò người khiến tự hỏi, “Liệu cỗ máy suy nghĩ hành xử người khơng?” Do đó, phát triển AI bắt đầu với ý định tạo trí thơng minh tương tự máy móc mà tìm thấy đánh giá cao người 1.1.3 Mục tiêu AI Tạo hệ thống Chuyên gia: Hệ thống thể hành vi thông minh, học hỏi, chứng minh, giải thích tư vấn cho người dùng Để triển khai trí thơng minh người máy móc: Tạo hệ thống hiểu, suy nghĩ, học hỏi hành xử người 1.1.4 Những đóng góp AI Trí tuệ nhân tạo ngành khoa học công nghệ dựa ngành Khoa học máy tính, Sinh học, Tâm lý học, Ngơn ngữ học, Tốn học Kỹ thuật Một lực đẩy AI phát triển chức máy tính liên quan đến trí thơng minh người, chẳng hạn lý luận, học tập giải vấn đề Trong số lĩnh vực sau, nhiều lĩnh vực góp phần xây dựng hệ thống thơng minh H 1.1.5 Các loại AI - Purely Reactive: Những máy khơng có nhớ liệu để làm việc, chuyên lĩnh vực cơng việc Ví dụ, trị Hình Machine Learning gì? 1.2.2 Một số định nghĩa Algorithm: Thuật toán Học máy tập hợp quy tắc kỹ thuật thống kê sử dụng để học mẫu từ liệu rút thông tin quan trọng từ Đó logic đằng sau mơ hình Học máy Một ví dụ thuật tốn Học máy thuật tốn Hồi quy tuyến tính Model: Mơ hình thành phần Học máy Một mơ hình đào tạo cách sử dụng Thuật toán học máy Một thuật toán ánh xạ tất định mà mơ hình phải thực dựa đầu vào cho, để có đầu xác Predictor Variable: Là (các) đặc điểm liệu sử dụng để dự đốn kết đầu Response Variable: Là tính biến đầu cần dự đoán cách sử dụng (các) biến dự đốn Training Data: Mơ hình Học máy xây dựng cách sử dụng liệu đào tạo Dữ liệu đào tạo giúp mơ hình xác định xu hướng mẫu cần thiết để dự đoán kết đầu Testing Data: Sau mơ hình đào tạo, phải kiểm tra để đánh giá mức độ xác dự đốn kết Điều thực tập liệu thử nghiệm 1.2.3 Quy trình học máy Hình Quy trình học máy Thu thập liệu: Thu thập liệu mà thuật tốn học từ Chuẩn bị liệu: Định dạng thiết kế liệu thành định dạng tối ưu, trích xuất tính quan trọng thực giảm kích thước Huấn luyện: Còn gọi giai đoạn lắp ráp, nơi thuật toán Học máy thực học cách hiển thị cho liệu thu thập chuẩn bị Đánh giá: Kiểm tra mơ hình để xem hoạt động tốt Điều chỉnh: Tinh chỉnh mơ hình để tối đa hóa hiệu suất 1.2.4 Các loại học máy Supervised Learning Học tập có giám sát kỹ thuật dạy đào tạo máy cách sử dụng liệu gắn nhãn rõ ràng Hình Supervised Learning Hãy xem xét hình Ở cung cấp cho máy hình ảnh Tom Jerry mục đích để máy xác định phân loại hình ảnh thành hai nhóm (hình ảnh Tom hình ảnh Jerry) Tập liệu đào tạo cung cấp cho mơ hình gắn nhãn, trong, nói với máy, 'đây hình dáng Tom Jerry' Làm vậy, bạn đào tạo máy cách sử dụng liệu gắn nhãn Trong Học tập có giám sát, có giai đoạn đào tạo xác định rõ thực với trợ giúp liệu gắn nhãn Unsupervised Learning Học không giám sát liên quan đến việc đào tạo cách sử dụng liệu không gắn nhãn cho phép mơ hình hoạt động thơng tin mà khơng cần hướng dẫn Hình Unsupervised Learning Ví dụ: xác định đặc điểm bật Tom tai nhọn, kích thước lớn hơn, v.v., để hiểu hình ảnh thuộc loại Tương tự, tìm thấy đặc điểm Jerry biết hình ảnh thuộc loại Do đó, phân loại hình ảnh thành hai lớp khác mà không cần biết Tom hay Jerry Reinforcement Learning Học tăng cường phần Học máy tác nhân đưa vào môi trường học cách cư xử môi trường cách thực số hành động định quan sát phần thưởng mà nhận từ hành động Học tăng cường chủ yếu sử dụng lĩnh vực Học máy nâng cao ô tô tự lái, AplhaGo, v.v 1.2.5 Các vấn đề giải học máy Hình Các vấn đề giải học máy Hãy xem xét hình trên, có ba dạng vấn đề giải Học máy: Regression - Hồi quy: Trong dạng toán này, đầu đại lượng liên tục Vì vậy, ví dụ, bạn muốn dự đoán tốc độ tơ qng đường, tốn Hồi quy Các vấn đề hồi quy giải cách sử dụng thuật toán Học có Giám sát Hồi quy Tuyến tính - Linear Regression Classification - Phân loại: Trong loại này, đầu giá trị phân loại Phân loại email thành hai lớp, spam không spam vấn đề phân loại giải cách sử dụng thuật toán phân loại Supervised Learning Support Vector Machines, Naive Bayes, Logistic Regression, K Nearest Neighbor, v.v Clustering - Phân cụm: Loại vấn đề liên quan đến việc gán đầu vào thành hai nhiều cụm dựa giống tính Ví dụ: nhóm người xem thành nhóm tương tự dựa sở thích, độ tuổi, địa lý, v.v họ thực cách sử dụng thuật tốn Học khơng giám sát K-Means Clustering 1.3 Deep learning 1.3.1 Deep Learning gì? Deep Learning (học sâu) xem lĩnh vực Machine Learning (học máy) – máy tính học cải thiện thơng qua thuật tốn Deep Learning xây dựng dựa khái niệm phức tạp nhiều, chủ yếu hoạt động với mạng nơ-ron nhân tạo để bắt chước khả tư suy nghĩ não người Các mơ hình học sâu đại sử dụng mạng nơ-ron nhân tạo đơn giản mạng nơ-ron để trích xuất thơng tin Các mạng nơ-ron tạo thành từ hàm toán học đơn giản xếp chồng lên xếp dạng lớp, tạo cho chúng cảm giác chiều sâu, có thuật ngữ Deep Learning Học sâu coi phương pháp tiếp cận Trí tuệ nhân tạo, kết hợp thông minh phần cứng phần mềm để giải cơng việc địi hỏi trí tuệ người Hình Trí tuệ nhân tạo so với Học máy Học sâu 1.3.2 Neural Networks Mạng lưới thần kinh trung tâm mơ hình học sâu ban đầu thiết kế để bắt chước hoạt động tế bào thần kinh não người 10 Hình Các thành phần mạng thần kinh nhân tạo 1.3.3 Deep Learning hoạt động nào? Mạng thần kinh sâu có nhiều lớp nơ-ron nhân tạo kết nối với nút xếp chồng lên Mỗi nút có hàm toán học đơn giản thường hàm tuyến tính thực việc trích xuất ánh xạ thơng tin Có ba lớp mạng nơ-ron sâu: lớp đầu vào (Input Layer), lớp ẩn (Hidden Layer) lớp đầu (Output Layer) 11 Hình Kiến trúc Deep neural network Mỗi nút lớp đầu vào nhập liệu chuyển sang lớp tiếp theo, tức lớp ẩn Các lớp ẩn ngày trích xuất tính từ lớp đầu vào cho biến đổi cách sử dụng hàm tuyến tính Các lớp gọi lớp ẩn tham số - parameter (trọng số - weight độ lệch - bias) nút không xác định; lớp thêm tham số ngẫu nhiên để biến đổi liệu, tham số cho kết đầu khác Kết thu từ lớp ẩn sau chuyển đến lớp cuối gọi lớp đầu ra, nơi tùy thuộc vào nhiệm vụ, phân loại, dự đốn tạo mẫu Q trình gọi trình chuyển tiếp - forward propagation Hình 10 Forward propagation in neural networks 12 Trong quy trình khác gọi backpropagation, thuật toán, giống gradient descent, tính tốn sai số cách lấy khác biệt đầu dự đoán đầu ban đầu Sau đó, lỗi điều chỉnh cách tinh chỉnh trọng số độ lệch hàm cách di chuyển lùi qua lớp Cả hai, trình lan truyền chuyển tiếp lan truyền ngược cho phép mạng nơron giảm lỗi đạt độ xác cao tác vụ cụ thể Với lần lặp, thuật tốn dần trở nên xác 1.3.4 Các loại mạng nơ-ron CNN Convolutional Neural Networks hay CNNs chủ yếu sử dụng cho nhiệm vụ liên quan đến thị giác máy tính xử lý hình ảnh CNN tốt việc mơ hình hóa liệu khơng gian hình ảnh video 2D 3D Nó trích xuất tính mẫu hình ảnh, cho phép tác vụ phân loại hình ảnh phát đối tượng 13 Hình 11 Convolutional Neural Networks RNN Recurrent Neural Networks hay RNN chủ yếu sử dụng để lập mơ hình liệu tuần tự, chẳng hạn văn bản, âm loại liệu đại diện cho trình tự thời gian Chúng thường sử dụng nhiệm vụ liên quan đến xử lý ngôn ngữ tự nhiên (NLP) 14 Hình 12 The Recurrent Neural Networks architecture GAN Generative adversarial networks or GANs khuôn khổ sử dụng cho nhiệm vụ liên quan đến việc học tập khơng có giám sát Loại mạng học cấu trúc liệu mẫu theo cách mà sử dụng để tạo ví dụ mới, tương tự tập liệu gốc 15 Hình 13 Generative adversarial networks Transformers Transformers mơ hình học sâu lớp sử dụng chủ yếu cho tác vụ liên quan đến mơ hình hóa liệu tuần tự, giống NLP Nó mạnh nhiều so với RNN chúng thay chúng nhiệm vụ Gần đây, transformers ứng dụng tác vụ thị giác máy tính chúng tỏ hiệu so với CNN truyền thống 16 Hình 14 Transformer Neural Networks Chương R-CNN Giới thiệu Với tốn phân loại, kiến trúc CNN có đầu vào đối tượng cụ thể chữ số hay lồi hoa Tuy nhiên, hình ảnh bình thường đối tượng Và ta quan tâm đến vị trí đối tượng hình ảnh từ sinh toán Object Detection hay phát đối tượng Ta thấy, CNN hông thể giải vấn đề Object Detection khơng biết đối tượng ảnh Và R-CNN (Region-based Convolutional Neural Network) đời 17 R-CNN lần trích xuất nhiều vùng đề xuất - region proposals khoảng 2000 từ hình ảnh đầu, gắn nhãn lớp hộp giới hạn - bounding boxes chúng Sau đó, CNN sử dụng để thực forward propagation region proposal để trích xuất đặc trưng Tiếp theo, đặc trưng region proposal sử dụng để dự đốn lớp bounding boxes region proposal Hình 15 R-CNN Nhận xét Mặc dù mơ hình R-CNN sử dụng CNN đào tạo trước để trích xuất tính hình ảnh cách hiệu quả, chậm Hãy tưởng tượng ta chọn hàng nghìn đề xuất khu vực từ hình ảnh đầu vào nhất: điều yêu cầu hàng nghìn lần truyền chuyển tiếp CNN để thực phát đối tượng Khối lượng máy tính khổng lồ khiến việc sử dụng rộng rãi R-CNN ứng dụng giới thực không khả thi Chương Ý tưởng ứng dụng phát xe Ý tưởng gồm bước sau đây: Chuẩn bị tập liệu xe Xây dựng Model 18 Kết hợp Tranfer Learning Huấn luyện Đánh giá Chương Kết luận Từ lý thuyết chương trước, ta thầy việc đào tạo mơ hình RCNN lại từ đầu vất vả, với trợ giúp kỹ thuật Tranfer Learning giúp ta đào tạo mơ hình tuỳ chỉnh từ mơ hình đào tạo sẵn giúp thiện chất lượng thời gian rút ngắn Từ mô hình phát triển thêm sử dụng kiến trúc mới, đại để tăng hiệu suất model – Fast R-CNN, Faster R-CNN hay Mark R-CNN Tương lai, mơ hình kết hợp với nhiều chương trình, ứng dụng để áp dụng vào thực tiễn (Nhận dạng phương tiện giao thông, truy bắt tội phạm có sử dụng phương tiện di chuyển, điểu tiết giao thông, …) Chương Tài liệu tham khảo [1] Neural-Networks-from-Scratch-in-Python-by-Harrison-Kinsley-Daniel- Kukiela-z-lib.org [2] 2-Aurélien-Géron-Hands-On-Machine-Learning-with-Scikit-Learn- Keras-and-Tensorflow_-Concepts-Tools-and-Techniques-to-BuildIntelligent-Systems-O’Reilly-Media-2019 [3] Sách Deep Learning - v2.pdf 19 ... tên) Tên đề tài: Tìm hiểu R-CNN ứng dụng phát có xe đường TP.HCM, ngày 26 tháng 06 năm 2022 GIÁO VIÊN HƯỚNG DẪN (Ký ghi rõ họ tên) Giá viên hướng dẫn: Vương Xuân Chí Thời gian thực hiện: 20/6/2022... thực phát đối tượng Khối lượng máy tính khổng lồ khiến việc sử dụng rộng rãi R-CNN ứng dụng giới thực không khả thi Chương Ý tưởng ứng dụng phát xe Ý tưởng gồm bước sau đây: Chuẩn bị tập liệu xe. .. sử dụng chúng trở nên phổ biến dễ dàng Các phần cứng để sử dụng cho mục đích phát triển ứng dụng liên quan đến AI ngày rẻ hiệu năng tốt góp phần phổ biến đến người dùng Từ sáng tạo, tham gia phát