Tuy nhiên, khi phần cứng dần được cải thiện, các thuật toán họcmáy phát triển, đặc biệt là sự có mặt của học sâu thì các trở ngại kia dần đã có lời giải.Với tính thiết thực của đề tài, e
MỤC LỤC DANH MỤC CÁC TỪ VIẾT TẮT DANH MỤC HÌNH ẢNH .8 MỞ ĐẦU Giới thiệu Mục tiêu đề tài Đối tượng, phạm vi phương pháp tiếp cận 10 Đóng góp đề tài .10 Bố cục đề tài 10 CHƯƠNG 1: TỔNG QUAN VỀ CÔNG CỤ VÀ MÔI TRƯỜNG PHÁT TRIỂN 11 1.1 CƠ SỞ LÝ THUYẾT 11 1.1.1 Trí tuệ nhân tạo: 11 1.1.2 Machine Learning: 12 1.1.3 Deep Learning .16 1.1.5 Thuật toán tối ưu hàm mát: Gradient Descent .21 1.1.6 Thị giác máy tính 24 1.1.7 Mạng thần kinh nhân tạo (Neural Network) 25 1.1.8 Ngơn ngữ lập trình Python 28 1.1.9 OpenCV 29 1.1.10 YOLO 30 1.1.11 Google Colab 32 1.1.12 Bài toán phát đối tượng (Object Detection) 33 1.2 Giới thiệu đồ án 36 1.3 Kết chương 36 CHƯƠNG PHÂN TÍCH THIẾT KẾ HỆ THỐNG 37 2.1 Các đối tượng tương tác với hệ thống 37 2.2 Thiết kế hệ thống 37 2.2.1 Biểu đồ ca sử dụng 37 2.2.2 Biểu đồ lớp 38 2.3 Kết chương 38 CHƯƠNG XÂY DỰNG HỆ THỐNG .39 3.1 Dataset 39 3.1.1 Dataset dùng cho model 39 3.1.2 Training 41 3.2 Giao diện ứng dụng 42 3.2.1 Màn hình đăng nhập .42 3.2.2 Màn hình nhận diện .42 3.2.3 Đăng nhập hệ thống web 43 3.2.4 Màn hình đăng ký 43 3.2.5 Màn hình quên mật .44 3.2.6 Màn hình danh sách đối tượng bị phát 44 3.2.7 Chi tiết phát 45 3.2.8 Cảnh báo gửi qua mail 45 3.2 Kết chương 45 KẾT LUẬN 47 DANH MỤC CÁC TỪ VIẾT TẮT STT VIẾT TẮT NỘI DUNG AI Artificial Intelligence API Application Programming Interface CSDL Cơ sở liệu CPU Central Processing Unit GPU Graphic Processing Unit TPU Tensor Processing Unit CNN Convolutional Neural Networks R-CNN Binary Javascript Object Notation RPN Region Proposal Network 10 HOG Histogram of Oriented Gradient 11 NMS Non maximum suppression 12 RoI Region of Interest 13 GD Gradient Descent 14 SGD Stochastic Gradient Descent 15 NAG Nesterov accelerated Gradient Descent 16 SVM Support Vector Machine 17 SIFT Scale-Invariant Feature Transform 18 YOLO You only look once 19 ML Machine Learning 20 DL Deep Learning DANH MỤC HÌNH ẢNH Hình 1 Mối quan hệ AI, Machine Learning Deep Learning (nguồn: thegreengrid.org) 12 Hình Phân loại học có giám sát (nguồn: towardsdatascience.com) 13 Hình Phân loại học không giám sát (nguồn: towardatascience.com) .14 Hình So sánh học giám sát, học không giám sát học bán giám sát (nguồn: towardatascience.com15 Hình AlphaGo chiến thằng kì thủ cờ vây số giới Lee Sedol (nguồn: Zing.vn) .15 Hình Đồ thị biểu diễn hàm Mean Square Error 18 Hình Sự biến thiên hàm Binay Cross-Entropy Loss theo xác suất dự đoán 19 Hình Các giá trị hàm hinge loss dựa nhãn 20 Hình Mơ thuật toán Gradient Descent (nguồn: ibm.com) 22 Hình 10 So sánh hội tụ thuật toán Gradient Descent learning rate khác .23 Hình 11 Ứng dụng thị giác máy tính xe tự hành (nguồn: vinbigdata.com) 24 Hình 12 Mơ hình thần kinh người (nguồn: askabiologist.asu.edu) 25 Hình 13 Kiến trúc mạng thần kinh nhân tạo (nguồn: xenonstack.com) 26 Hình 14 Ma trận RGB 6x6x3 (nguồn: DataScience+) 27 Hình 15 Mơ hình mạng CNN (nguồn: vinbigdata.com) .28 Hình 16 OpenCV Module (nguồn: opencv.org) 29 Hình 17 Phát đối tượng YOLO (nguồn: aicurious.io) .30 Hình 18 Kiến trúc lớp Yolo (aicurious.io) 30 Hình 19 Cách Yolo dự đoán (nguồn: aicurious.io) 31 Hình 20 Sử dụng Google Colab để training data 32 Hình 21 Nhận diện biển số xe OpenCV (nguồn: opencv.org) 33 Hình 22 Kiến trúc hệ thống HOG để phát đối tượng (nguồn: Neptune.AI) 34 Hình 23 Chu trình phát đối tượng với mạng CNN (nguồn: neptune.ai) 35 Hình 24 Minh họa mơ hình Fast-RCNN (nguồn: neptune.ai) 35 Hình 25 Sơ đồ ca sử dụng hệ thống phát vũ khí 37 Hình 26 Biểu đồ lớp hệ thống phát vũ khí 38 Hình 27 Ảnh dùng để training cho mơ hình 39 Hình 28 Nhãn ảnh dùng để training .39 Hình 29 Nhãn chứa tọa độ đối tượng nguy hiểm ảnh 40 Hình 30 Quá trình training Google Colab 41 Hình 31 Màn hình đăng nhập .42 Hình 32 Màn hình nhận diện 42 Hình 33 Màn hình đăng nhập hệ thống web .43 Hình 34 Đăng ký tài khoản 43 Hình 35 Màn hình quên mật 44 Hình 36 Danh sách lần phát 44 Hình 37 Chi tiết lần phát .45 Hình 38 Cảnh báo gửi qua gmail 45 MỞ ĐẦU Giới thiệu Hiện nay, sống thời đại mà xã hội đề cao tầm quan trọng Khoa học, Kỹ thuật Công nghệ Và khoa học, công nghệ, kĩ thuật phát triển trí tuệ nhân tạo trí tuệ nhân tạo, học máy, học sâu, dần trở nên phổ biến Và cách mạng công nghiệp 4.0 len lỏi đến đời sống hàng ngày, khái niệm trở nên quen thuộc, ứng dụng nhiều sống, hứa hẹn ngành công nghiệp đầy tiềm phát triển vượt bậc ngành khoa học kỹ thuật nói chung, ngành cơng nghệ thơng tin nói riêng. Với việc trí tuệ nhân tạo ứng dụng rộng rãi, tốn trước tưởng bất khả thi nhận diện, phân loại, xử lý với loại liệu phức tạp âm thanh, tập liệu lớn… có phương pháp giải Một toán phổ biến lĩnh vực trí tuệ nhân tạo tốn “Nhận diện vật thể thời gian thực (Object Detection Realtime)” Trước kia, với trở ngại mặt phần cứng mơ hình, thuật tốn tốn dường khơng mang tính thực tế Tuy nhiên, phần cứng dần cải thiện, thuật toán học máy phát triển, đặc biệt có mặt học sâu trở ngại dần có lời giải Với tính thiết thực đề tài, em chọn đề tài: “Ứng dụng deep learning để xây dựng hệ thống phát người nơi cơng cộng” với mục đích nghiên cứu, tìm hiểu hoàn thành hệ thống phát chuyển động người Ngồi ra, đề tài cịn phương pháp để em ứng dụng thuật tốn, mơ hình học mơn “Học máy”, “Thị giác máy tính” từ ứng dụng cho tốn khác lĩnh vực Trí tuệ nhân tạo Khoa học liệu Mục tiêu đề tài Mục đích đề tài phát loại vũ khí gây nguy hiểm súng, đạn, bom, dao từ dó phát cảnh báo đến người dùng để người dùng chủ động ứng phó Đối tượng, phạm vi phương pháp tiếp cận ● Đối tượng nghiên cứu: hệ thống phát người ● Phạm vi nghiên cứu: Đáp ứng theo yêu cầu khách hàng để phát triển hệ thống: + Xác định yêu cầu + Phân tích, thiết kế chức năng, yêu cầu hệ thống + Phát triển mơ hình, sau ứng dụng mơ hình vào hệ thống ● Phạm vi nghiên cứu: + Tổng hợp kết nghiên cứu từ tư liệu liên quan + Sử dụng kiến thức có công cụ để thiết kế hệ thống + Quan sát hoạt động quy trình hệ thống tương tự + Góp ý giảng viên hướng dẫn. Đóng góp đề tài Trên sở tìm hiểu, phân tích, tổng hợp áp dụng, đề tài đạt số kết sau: ● Hoàn thành hệ thống phát người với đủ chức năng, nhận diện cảnh báo vật thể với độ trễ thấp ● Ứng dụng kiến thức học thiết kế xây dựng hệ thống nhận diện vào dự án có tính ứng dụng thực tiễn cao Bố cục đề tài Sau phần Mở đầu, báo cáo trình bày ba chương, cụ thể sau: Chương Tổng quan công cụ môi trường phát triển Trong chương này, báo cáo trình bày khái niệm, đặc điểm, tổng quan ngôn ngữ, công cụ, môi trường… sử dụng để phát triển hệ thống Chương Phân tích thiết kế “Hệ thống phát vũ khí” Nội dung chương bao gồm phân tích, thiết kế yêu cầu chức ứng dụng, xây dựng sơ đồ đê mô tả chức năng, cách mà hệ thống hoạt động Chương Xây dựng hệ thống Chương trình bày kết quả, chức cài đặt hệ thống Cuối Kết luận, Tài liệu tham khảo Phụ lục liên quan đến đề tài CHƯƠNG 1: TỔNG QUAN VỀ CÔNG CỤ VÀ MÔI TRƯỜNG PHÁT TRIỂN 1.1 CƠ SỞ LÝ THUYẾT 1.1.1 Trí tuệ nhân tạo: Trí tuệ nhân tạo (Artificial Intelligence hay AI) lĩnh vực khoa học máy tính, nhấn mạnh việc tạo máy móc thơng minh, hoạt động phản ứng người, mơ q trình trí tuệ người máy móc, đặc biệt hệ thống hệ máy tính AI giúp máy móc học hỏi kinh nghiệm, điều chỉnh đầu vào thực nhiệm vụ giống người Ngày nay, ta dễ dàng nhận thấy ứng dụng trí tuệ nhân tạo lĩnh vực thiết yếu đời sống y tế, giáo dục, kinh doanh, tài – ngân hàng, sản xuất, AI ngành khoa học sinh với mục đích làm cho máy tính có trí thơng minh Mục tiêu mơ hồ đồng ý với định nghĩa thống trí thơng minh Các nhà khoa học phải định nghĩa số mục tiêu cụ thể hơn, số việc làm cho máy tính lừa Turing Test Turing Test tạo Alan Turing (1912-1954), người xem cha đẻ ngành khoa học máy tính đại, nhằm phân biệt xem người đối diện có phải người hay khơng AI coi ngành khoa học máy tính liên quan đến việc tự động hóa hành vi thơng minh Với AI, trí tuệ tạo tư duy, suy nghĩ học hỏi, xử lý liệu mức rộng hơn, quy mô hơn, khoa học nhanh so với người AI mang lại lợi ích to lớn với ngành cơng nghiệp máy móc, khoa học máy tính thân AI cịn tồn nhiều hạn chế Hiện phát triển dừng AI hẹp Cơng nghệ có khả thực nhiệm vụ cụ thể cách giống chí tốt người Trong q trình phát triển mình, Trí tuệ nhân tạo sinh ngành coi “ngành con” Machine Learning Deep Learning, xuất Machine Learning đặc biệt Deep Learning tạo bước đột phá, cách mạng Trí tuệ nhân tạo, số yếu tố then chốt giúp Trí tuệ nhân tạo vươn trở thành ngành quan trọng bậc cách mạng cơng nghiệp 4.0 Hình 1 Mối quan hệ AI, Machine Learning Deep Learning (nguồn: thegreengrid.org) 1.1.2 Machine Learning: 1.1.2.1 Khái niệm Machine Learning Machine Learning thuật ngữ rộng để hành động người dạy máy tính cải thiện nhiệm vụ mà thực Khả Machine Learning sử dụng thuật toán để phân tích thơng tin có sẵn, học hỏi từ đưa định dự đốn thứ có liên quan Thay tạo phần mềm với hành động, hướng dẫn chi tiết để thực nhiệm vụ cụ thể, máy tính “huấn luyện” cách sử dụng lượng liệu thuật toán để học cách thực nhiệm vụ Ngược dòng lịch sử, Machine Learning xuất từ lâu trước mạng Internet đời Một thuật toán machine learning thuật toán perceptron phát minh Frank Rosenblatt vào năm 1957 Trong toán Machine Learning, luôn tồn thành phần: Dữ liệu: ảnh, đoạn âm thanh, văn bản, tập hành vi người Internet Dữ liệu thường đưa dạng số mà số đặc trưng (feature) Các điểm liệu thường biểu diễn dạng mảng chiều, hay gọi vector đặc trưng (feature vector) Vector đặc trưng điểm liệu thường ký hiệu x ∈ Rd Mơ hình: hệ thống tính tốn nhận đầu vào dạng liệu sau trả kết dự đốn, dạng liệu khác Cụ thể, ta quan tâm tới mơ hình thống kê mà ta ước lượng từ liệu Thuật tốn: cách để mơ hình học tập dựa kinh nghiệm, hay đặc trưng từ điểm liệu, từ đưa dự đoán cho liệu 1.1.2.2 Phân loại Hiện nay, có nhiều cách phân loại thuật toán Machine Learning, phương pháp phổ biến phân loại dựa phương pháp học Dựa phương pháp học, ta phân loại các thuật toán Machine Learning chia thành loại chính: Học có giám sát (Supervised Learning): Học có giám sát thuật tốn dự đốn đầu (outcome) liệu (new input) dựa cặp (input, outcome) biết từ trước Cặp liệu gọi (data, label), tức liệu, nhãn Học có giám sát nhóm phổ biến thuật toán Machine Learning Các thuật toán Supervised Learning ứng dụng nhiều toán thực tế như: Dự đoán giá cổ phiếu, giá nhà, hay toán nhận diện chữ viết, Các thuật toán Supervised Learning chia làm loại Phân loại (Classification) Hồi quy (Hồi quy) Hình Phân loại học có giám sát (nguồn: towardsdatascience.com) Học không giám sát (Unsupervised Learning): Ngược lại với học giám sát, học khơng giám sát khơng có outcome hay nhãn, mà có tập liệu đầu vào Thuật toán unsupervised learning dựa vào cấu trúc liệu để thực công việc đó, ví dụ phân nhóm (clustering) giảm số chiều liệu (dimension reduction) để thuận tiện việc lưu trữ tính tốn Các thuật tốn Unsupervised Learning chia thành loại Phân nhóm (Clustering) Kết hợp (Association) Học không giám sát ứng dụng vào nhiều toán Hệ thống gợi ý khách hàng (Recommendation System) hay phân cụm khách hàng dựa hành vi mua sắm Hình Phân loại học không giám sát (nguồn: towardatascience.com) Học bán giám sát (Semi – Supervised Learning): Các toán có lượng lớn liệu X phần chúng gán nhãn gọi Semi-Supervised Learning Những tốn thuộc nhóm nằm hai nhóm nêu bên Một ví dụ điển hình nhóm có phần ảnh văn gán nhãn (ví dụ ảnh người, động vật văn khoa học, trị) phần lớn ảnh/văn khác chưa gán nhãn thu thập từ internet 10