Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 65 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
65
Dung lượng
3,97 MB
Nội dung
BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.HCM KHOA CÔNG NGHỆ THÔNG TIN - - BÁO CÁO KHÓA LUẬN TỐT NGHIỆP NGÀNH: KHOA HỌC MÁY TÍNH ĐỀ TÀI: ỨNG DỤNG TRÍCH XUẤT THÔNG TIN TRONG MẪU ĐƠN NHẬP HỌC Giảng viên hướng dẫn: Th.S Hồ Đắc Quán Sinh viên thực hiện: Trương Minh Phụng 17022931 Nguyễn Đăng Quang 17095931 TP Hồ Chí Minh, Tháng 06/2021 BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.HCM KHOA CÔNG NGHỆ THÔNG TIN - - BÁO CÁO KHÓA LUẬN TỐT NGHIỆP NGÀNH: KHOA HỌC MÁY TÍNH ĐỀ TÀI: ỨNG DỤNG TRÍCH XUẤT THÔNG TIN TRONG MẪU ĐƠN NHẬP HỌC Giảng viên hướng dẫn: Th.S Hồ Đắc Quán Sinh viên thực hiện: Trương Minh Phụng 17022931 Nguyễn Đăng Quang 17095931 TP Hồ Chí Minh, Tháng 06/2021 Khóa tớt nghiệp chuyên ngành Khoa Học Máy Tính LỜI CAM ĐOAN Em xin cam đoan việc nghiên cứu đề tài thực với giáo viên hướng dẫn luận án chưa sử dụng để báo cáo cho đồ án hay mơn học Em xin cam đoan giúp đỡ cảm ơn, thơng tin trích dẫn luận văn ghi đầy đủ bảo đảm rõ nguồn gốc không xâm phạm quyền tác giả TP.HCM, ngày 17, tháng 06, năm 2021 I Trương Minh Phụng – Nguyễn Đăng Quang Lớp DHKHMT13A Khóa tốt nghiệp chuyên ngành Khoa Học Máy Tính LỜI CẢM ƠN Trong trình thực luận văn tốt nghiệp nhóm chúng em giáo viên hướng dẫn tận tình bảo, quan tâm dẫn dắt bước thực hiện, bên cạnh đó chúng em xin cảm ơn sâu sắc đến tất cá nhân, tập thể tạo điều kiện giúp đỡ suốt trình thực khóa luận tốt nghiệp Đầu tiên chúng em xin cảm ơn ban giám hiệu trường Đại học Cơng Nghiệp Thành Phố Hồ Chí Minh, phịng đào tạo khoa Công nghệ thông tin thầy cô người cung cấp kiến thức, kỹ suốt trình học tập rèn luyện Đặc biệt nhóm chúng em xin trân trọng cảm ơn giảng viên Th.S Hồ Đắc Quán, người trực tiếp bảo, tận tình hướng dẫn, cung cấp cho chúng em thật nhiều kiến thức từ đến nâng cao, hướng dẫn khoa học lời động viên, quan tâm, giúp đỡ bước nghiên cứu suốt trình thực luận văn Và cuối nhóm em xin gửi lời cảm ơn chân thành đến tất người giúp đỡ đồng hành suốt trình thực luận văn Do giới hạn kiến thức khả thân nhiều thiếu sót hạn chế, nhóm em kính mong nhận sự dẫn đóng góp thầy cô giáo để khóa luận nhóm em hoàn thiện Xin trân trọng cảm ơn! TP.HCM, ngày 17, tháng 06, năm 2021 II Trương Minh Phụng – Nguyễn Đăng Quang Lớp DHKHMT13A Khóa tốt nghiệp chuyên ngành Khoa Học Máy Tính NHẬN XÉT VÀ ĐÁNH GIÁ CỦA GIÁO VIÊN HƯỚNG DẪN TP Hồ Chí Minh, ngày 17, tháng 06, năm 2021 GIÁO VIÊN HƯỚNG DẪN III Trương Minh Phụng – Nguyễn Đăng Quang Lớp DHKHMT13A Khóa tốt nghiệp chuyên ngành Khoa Học Máy Tính NHẬN XÉT VÀ ĐÁNH GIÁ CỦA GIÁO VIÊN PHẢN BIỆN TP Hồ Chí Minh, ngày 17, tháng 06, năm 2021 GIÁO VIÊN PHẢN BIỆN IV Trương Minh Phụng – Nguyễn Đăng Quang Lớp DHKHMT13A Khóa tốt nghiệp chuyên ngành Khoa Học Máy Tính MỤC LỤC LỜI CẢM ƠN II NHẬN XÉT VÀ ĐÁNH GIÁ CỦA GIÁO VIÊN HƯỚNG DẪN III NHẬN XÉT VÀ ĐÁNH GIÁ CỦA GIÁO VIÊN PHẢN BIỆN IV MỤC LỤC V DANH MỤC HÌNH ẢNH VII DANH MỤC CÁC BẢNG IX DANH MỤC CÁC THUẬT NGỮ, CHỮ VIẾT TẮT X LỜI MỞ ĐẦU XI CHƯƠNG TỔNG QUAN 1.1 Mục tiêu đề tài 1.2 Phương pháp thực đề tài CHƯƠNG Cơ sở lý thuyết 2.1 Computer vision (thị giác máy tính) 2.1.1 Khái niệm 2.2 Object detection 2.2.1 Khái niệm mạng backbone 2.2.2 Khái niệm object detection 2.2.3 Two-stage detector (nhận dạng hai giai đoạn) 2.2.4 One-stage detector (nhận dạng giai đoạn) 2.2.5 So sánh two-stage detector one-stage detector 2.3 Optical Character Recognition (OCR) 2.3.1 Định nghĩa 2.3.2 Ưu nhược điểm OCR 2.4 YOLO 2.4.1 Khái niệm mạng YOLO 2.4.2 Bounding box 2.4.3 Anchor box 10 2.4.4 IoU – Intersection over Union 11 2.4.5 YOLO: You Only Look One 13 2.5 CRNN 16 2.5.1 Convolutional recurrent neural network (CRNN) 16 V Trương Minh Phụng – Nguyễn Đăng Quang Lớp DHKHMT13A Khóa tốt nghiệp chuyên ngành Khoa Học Máy Tính 2.5.2 Các đặc điểm nổi bật CRNN 17 2.5.3 Kiến trúc mạng CRNN 18 2.5.4 CTC (Connection Temporal Classification) loss 18 CHƯƠNG Thực nghiệm đánh giá 20 3.1 Giới thiệu 20 3.2 Một số thư viện framework quan trọng 22 3.2.1 Pytorch 22 3.2.2 Keras 23 3.2.3 Numpy 23 3.3 Thông tin liệu sử dụng 24 3.3.1 Thông tin tổng quan liệu 24 3.3.2 Bộ liệu huấn luyện mơ hình object detection với YOLO v5 26 3.3.3 Bộ liệu huấn luyện mơ hình OCR với CRNN 27 3.4 Nhận diện vùng chứa thông tin ảnh bằng YOLO v5 33 3.5 OCR với CRNN 36 3.5.1 Kiến trúc mơ hình CRNN 36 3.5.2 Kết huấn luyện mơ hình CRNN 38 3.6 Demo chương trình 39 3.6.1 Giao diện chương trình 39 3.6.2 Giới thiệu sơ lược chức ứng dụng 39 3.6.3 Thực thi chương trình 40 3.6.4 Đánh giá kết thực chương trình 42 CHƯƠNG Kết luận hướng phát triển 47 4.1 Kết luận 47 4.2 Hạn chế 47 4.3 Hướng phát triển 49 TÀI LIỆU THAM KHẢO 50 VI Trương Minh Phụng – Nguyễn Đăng Quang Lớp DHKHMT13A Khóa tốt nghiệp chuyên ngành Khoa Học Máy Tính DANH MỤC HÌNH ẢNH Hình 1 Ảnh giới thiệu Hình Computer vision Hình 2 Kiến trúc two-stage detector Hình Kiến trúc one-stage detector Hình Minh họa bounding box object detection Hình Bounding box với điểm (x1, x2) nằm bên trái (x2, y2) nằm ở góc bên phải 10 Hình (x1, y1) nằm ở tâm bounding box x2 chiều rộng, y2 chiều cao 10 Hình Minh họa ground-true bounding box predicted bounding box 11 Hình Cơng thức tính IoU 12 Hình Tính IoU với bounding box khác 13 Hình 10 Workflow mơ hình YOLO 14 Hình 11 Kiến trúc mạng YOLO 15 Hình 12 Convolutional recurrent neural network (CRNN) 17 Hình 13 Kiến trúc chung mạng CRNN 18 Hình Mẫu đơn nhập nhập học trường Đại học Công nghiệp TP HCM 20 Hình Các thơng tin cần trích xuất mẫu đơn nhập học 21 Hình 3 Quy trình thực trích xuất thơng tin mẫu đơn 21 Hình Pytorch 22 Hình Keras 23 Hình Numpy 23 Hình Mẫu đơn 24 Hình Mẫu đơn 25 Hình Mẫu đơn 25 Hình 10 Minh họa gán nhãn YOLO với LabelImg 26 Hình 11 Ảnh gốc ban đầu 27 Hình 12 Ảnh sau cắt file text chứa nội dung vùng ảnh tương ứng 27 Hình 13 Mẫu họ tên phát sinh ngẫu nhiên 28 Hình 14 Dữ liệu họ tên lưu lại sau bước phát sinh ngẫu nhiên gồm file ảnh có đuôi PNG file txt 29 Hình 15 Mẫu CMND phát sinh ngẫu nhiên gồm số 12 số 30 Hình 16 Mẫu số điện thoại phát sinh ngẫu nhiên gồm 10 số 31 Hình 17 Mẫu tên ngành phát sinh ngẫu nhiên 32 Hình 18 Cấu trúc thư mục để huấn luyện mơ hình YOLO v5 33 Hình 19 Cấu trúc bên thư mục train test 33 Hình 20 Kết mẫu với YOLO v5 34 Hình 21 Kết mẫu với YOLO v5 35 Hình 22 Kết mẫu với YOLO v5 35 Hình 23 Kết huấn luyện mơ hình CRNN 38 Hình 24 Giao diện chương trình 39 Hình 25 Tải ảnh từ máy tính lên ứng dụng 40 VII Trương Minh Phụng – Nguyễn Đăng Quang Lớp DHKHMT13A Khóa tốt nghiệp chuyên ngành Khoa Học Máy Tính Hình 26 Kết sau qua mơ hình YOLO 41 Hình 27 Kết sau qua mơ hình CRNN 41 Hình 28 Hình đầy đủ thông tin 42 Hình 29 Hình đầy đủ thông tin 42 Hình 30 Hình đẩy đủ thông tin 43 Hình 31 Hình đầy đủ thông tin 43 Hình 32 Mẫu đơn bị che thông tin 45 Hình 33 Mẫu đơn bị che thông tin 45 Hình 34 Mẫu đơn bị che thông tin 46 Hình 35 Mẫu đơn bị che thông tin 46 VIII Trương Minh Phụng – Nguyễn Đăng Quang Lớp DHKHMT13A Khóa tốt nghiệp chuyên ngành Khoa Học Máy Tính batch_normalization_3 (None, 5, 81, 512) 2048 (None, 2, 81, 512) conv2d_13 (Conv2D) (None, 1, 80, 512) 1049088 lambda_1 (Lambda) (None, 80, 512) bidirectional_2 (None, 80, 256) 656384 (None, 80, 256) 394240 (None, 80, 211) 54227 (Batch) max_pooling2d_7 (MaxPooling2) (Bidirection) bidirectional_3 (Bidirection) dense (Dense) Total params: 6,657,747 Trainable params: 6,655,699 Non-trainable params: 2,048 Bảng Kiến trúc mô hình CRNN 37 Trương Minh Phụng – Nguyễn Đăng Quang Lớp DHKHMT13A Khóa tốt nghiệp chuyên ngành Khoa Học Máy Tính 3.5.2 Kết huấn luyện mô hình CRNN Sau huấn luyện mơ hình CRNN với batch_size = 128, epochs = 100 Ta có kết hình bên Hình 23 Kết quả huấn luyện mô hình CRNN Sau 100 epochs, val loss giảm 2.03966 38 Trương Minh Phụng – Nguyễn Đăng Quang Lớp DHKHMT13A Khóa tốt nghiệp chuyên ngành Khoa Học Máy Tính 3.6 Demo chương trình 3.6.1 Giao diện chính của chương trình Hình 24 Giao diện chính của chương trình 3.6.2 Giới thiệu sơ lược về các chức của ứng dụng Ứng dụng thực hai nhiệm vụ nhận đầu vào ảnh, ảnh sẽ qua mô hình YOLO v5 Đầu sẽ bao gồm danh sách lớp tương ứng với vùng ảnh mà mơ hình nhận diện danh sách bao gồm tọa độ tương ứng Sau có tọa độ vùng ảnh lớp tương ứng, tọa độ sẽ qua mơ hình CRNN, ở vùng ảnh tương ứng sẽ cắt từ ảnh gốc ban đầu mơ hình CRNN sẽ thực trích xuất văn có vùng Kết trả sẽ hiển thị bảng ở góc bên phải, quy trình thực mô tả ở mục bên 39 Trương Minh Phụng – Nguyễn Đăng Quang Lớp DHKHMT13A Khóa tốt nghiệp chuyên ngành Khoa Học Máy Tính 3.6.3 Thực thi chương trình Bấm vào nút Load file để tải ảnh từ máy tính lên Hình 25 Tải ảnh từ máy tính lên ứng dụng 40 Trương Minh Phụng – Nguyễn Đăng Quang Lớp DHKHMT13A Khóa tốt nghiệp chuyên ngành Khoa Học Máy Tính Bấm vào nút Yolo để chạy mơ hình Yolo v5 Hình 26 Kết quả sau qua mô hình YOLO Bấm vào nút OCR để chạy mơ hình CRNN Hình 27 Kết quả sau qua mô hình CRNN 41 Trương Minh Phụng – Nguyễn Đăng Quang Lớp DHKHMT13A Khóa tốt nghiệp chuyên ngành Khoa Học Máy Tính 3.6.4 Đánh giá kết thực chương trình Trường hợp hình ảnh rõ nét, đầy đủ thông tin Hình 28 Hình đầy đủ thông tin Hình 29 Hình đầy đủ thông tin 42 Trương Minh Phụng – Nguyễn Đăng Quang Lớp DHKHMT13A Khóa tốt nghiệp chuyên ngành Khoa Học Máy Tính Hình 30 Hình đẩy đủ thông tin Hình 31 Hình đầy đủ thơng tin Có thể thấy sau chọn hình từ mẫu form khác nhau, kết chạy mơ hình thu bảng sau: 43 Trương Minh Phụng – Nguyễn Đăng Quang Lớp DHKHMT13A Khóa tốt nghiệp chuyên ngành Khoa Học Máy Tính Kết dự đoán Yolo CRNN Đúng 45 18 Sai 27 Bảng 3 Bảng kết quả của các hình đẩy đủ thơng tin Mơ hình YOLO cho kết xác cao, tất trường hợp đúng, nhiên mơ hình CRNN lại khơng thể nhận dạng xác hồn tồn thơng tin ở hình (sai họ tên sinh viên) hình (sai họ tên sinh viên ngành đăng kí học) 44 Trương Minh Phụng – Nguyễn Đăng Quang Lớp DHKHMT13A Khóa tốt nghiệp chuyên ngành Khoa Học Máy Tính Trường hợp hình bị che mợt sớ thông tin Hình 32 Mẫu đơn bị che thông tin Hình 33 Mẫu đơn bị che thông tin 45 Trương Minh Phụng – Nguyễn Đăng Quang Lớp DHKHMT13A Khóa tốt nghiệp chuyên ngành Khoa Học Máy Tính Hình 34 Mẫu đơn bị che thông tin Hình 35 Mẫu đơn bị che thông tin Có thể thấy bị che giá trị key (họ tên, tên ngành, cmnd,sdt) mơ hình YOLO khoanh vùng key có giá trị khơng bị che, đồng thời mơ hình CRNN nhận dạng xác giá trị cịn lại 46 Trương Minh Phụng – Nguyễn Đăng Quang Lớp DHKHMT13A Khóa tốt nghiệp chuyên ngành Khoa Học Máy Tính CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 4.1 Kết luận Sau khoảng thời gian nghiên cứu thực nghiệm để hoàn thành luận văn, nhóm em thu số kết sau: ➢ Nắm cách xác định toán Từ sở đó nghiên cứu, phát thảo sơ lược hướng giải toán ➢ Xác định liệu cần dùng cho toán object detection OCR ➢ Cách tạo liệu gán nhãn cho toán OCR với YOLO v5 ➢ Cách tạo liệu để huấn luyện mô hình CRNN ➢ Hiểu huấn luyện mơ hình object detection với YOLO v5 ➢ Tìm hiểu huấn luyện mơ hình OCR sử dụng CRNN ➢ Hiểu sử dụng framework dùng cho học sâu Keras, Pytorch; thư viện tính tốn số học Numpy; framework để xây dựng website đơn giản để phục vụ cho trình demo Flask ➢ Hiểu quy trình xây dựng ứng dụng có sử dụng mơ hình học sâu Trong đó có chia thành hai phần chính, phần áp dụng mơ hình object detection phần áp dụng mơ hình CRNN để trích xuất văn vùng ảnh có từ bước object detection 4.2 Hạn chế Mặc dù cố gắng để xây dựng ứng dụng hồn chỉnh cuối nhóm em khơng tránh khỏi sai sót trình giải tốn trích xuất thơng tin mẫu đơn nhập học Khó khăn lớn chúng em q trình giải tốn nằm ở phần OCR, việc phát sinh liệu bằng tay ban đầu nhóm em khó khăn phải tốn công tạo tự gõ tay văn để có nhiều văn phục vụ cho việc huấn luyện Việc tạo liệu bằng tay khắc phục sau tìm cách tự động hóa quy trình phát sinh liệu Vấn đề thiếu hụt liệu giải quyết, vấn đề phần cứng cản trở trình huấn luyện mơ hình CRNN Cụ thể việc huấn luyện Google Colab, với dung lượng 25GB RAM, lưu hết 100 nghìn ảnh lên RAM để phục vụ cho trình tiền xử lý liệu, nhớ RAM khơng đủ để phục q trình đó Vì lẽ đó, nhóm em giảm liệu xuống 50 nghìn ảnh thuộc lớp để huấn luyện mơ hình CRNN 47 Trương Minh Phụng – Ngũn Đăng Quang Lớp DHKHMT13A Khóa tốt nghiệp chuyên ngành Khoa Học Máy Tính Thực nghiệm cho thấy mơ hình CRNN khơng đưa dự đốn xác lớp họ tên sinh viên tên ngành Nguyên nhân điều có thể lý giải không đủ lượng liệu để mơ hình học đa dạng đặc trưng Vì tốn thực liệu mẫu đơn nhập học tự tạo máy tính, liệu ảnh đầu vào khơng có nhiễu Trong thực tế, ứng dụng sẽ nhận ảnh đầu vào mẫu đơn viết bằng tay, có yếu tố điều kiện ánh sáng, góc chụp, mỗi người sẽ kiểu chữ viết tay, … Việc ứng dụng mơ hình nhóm chúng em xây dựng vào tốn nêu hồn tồn khơng khả thi 48 Trương Minh Phụng – Nguyễn Đăng Quang Lớp DHKHMT13A Khóa tốt nghiệp chuyên ngành Khoa Học Máy Tính 4.3 Hướng phát triển Ứng dụng trích xuất thơng tin tin mẫu đơn nhập học có thể ứng dụng để giải vấn đề nhập liệu phục vụ cho trường Đại học Công nghiệp TP.HCM Để ứng dụng có thể đáp ứng yêu cầu đó yêu cầu liệu huấn luyện cho mơ hình object detection OCR phải đổi bằng cách thu thập lại liệu thực tế từ mẫu đơn nhập học sinh viên, thực gán nhãn để huấn luyện mô hình object detection tập liệu đó Về phần mơ hình OCR, cần huấn luyện lại với tập liệu chữ viết tay tiếng Việt, bao gồm nhiễu góc xoay, điều kiện ánh sáng, màu sắc có mẫu đơn, … Sau huấn luyện mơ hình object detection OCR với liệu thực tế, mơ hình chạy tốt Nghĩa mơ hình trích xuất thơng tin cần có mẫu đơn, bước cần phải kết nối với sở liệu để lưu thơng tin trích xuất 49 Trương Minh Phụng – Nguyễn Đăng Quang Lớp DHKHMT13A Khóa tốt nghiệp chuyên ngành Khoa Học Máy Tính TÀI LIỆU THAM KHẢO [1] P Đ Khánh, "Bài 25 - YOLO You Only Look Once," [Online] Available: https://phamdinhkhanh.github.io/2020/03/09/DarknetAlgorithm.html#8-nonmax-suppression [Accessed 2021] [2] A Rosebrock, "Intersection over Union (IoU) for object detection," [Online] Available: https://www.pyimagesearch.com/2016/11/07/intersection-over-unioniou-for-object-detection/ [3] "dcode," [Online] Available: https://www.youtube.com/watch?v=VElnT8EoEEM [Accessed 10 2021] [4] Alexey Bochkovskiy, Chien-Yao Wang, Hong-Yuan Mark Liao, "YOLOv4: Optimal Speed and Accuracy of Object Detection," 2020 [5] Licheng Jiao, Fan Zhang, Fang Liu, Shuyuan Yang, Lingling Li, Zhixi Feng, Rong Qu, "A Survey of Deep Learning-based Object Detection," vol 30, 2019 [6] M Fey, "table2excel," [Online] Available: https://github.com/rusty1s/table2excel [Accessed 10 2021] [7] J Brownlee, "A Gentle Introduction to Computer Vision," [Online] Available: https://machinelearningmastery.com/what-is-computer-vision/ [Accessed 2021] [8] "Dive into Deep Learning," [Online] Available: https://d2l.ai/chapter_computervision/bounding-box.html [Accessed 2021] [9] Baoguang Shi, Xiang Bai, Cong Yao, "An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application to Scene Text Recognition," 2015 [10] "Tìm hiểu mơ hình YOLO cho phát vật - Từ YOLOv1 đến YOLOv5," [Online] Available: https://aicurious.io/posts/tim-hieu-yolo-cho-phat-hien-vattu-v1-den-v5/ [Accessed 2021] [11] Joseph Redmon, Santosh Divvala, Ross Girshick, Ali Farhadi, "You Only Look Once: Unified, Real-Time Object Detection," 2016 [12] "Connectionist Temporal Classification," [Online] Available: https://www.aiourlife.com/2020/04/connectionist-temporal-classification.html [Accessed 17 2021] [13] P Đ Khánh, "Bài - Pytorch - Buổi - Làm quen với pytorch," [Online] Available: https://phamdinhkhanh.github.io/2019/08/10/PytorchTurtorial1.html [Accessed 19 2021] 50 Trương Minh Phụng – Nguyễn Đăng Quang Lớp DHKHMT13A Khóa tốt nghiệp chuyên ngành Khoa Học Máy Tính [14] "Làm quen với Keras," [Online] Available: https://viblo.asia/p/lam-quen-voikeras-gGJ59mxJ5X2 [Accessed 19 2021] [15] "Tìm Hiểu Thư Viện NumPy Trong Python," [Online] Available: https://codelearn.io/sharing/tim-hieu-thu-vien-numpy-trong-python [Accessed 19 2021] [16] "Creating a CRNN model to recognize text in an image (Part-1)," [Online] Available: https://theailearner.com/2019/05/29/creating-a-crnn-model-torecognize-text-in-an-image-part-1/ [Accessed 23 2021] [17] "Creating a CRNN model to recognize text in an image (Part-2)," [Online] Available: https://theailearner.com/2019/05/29/creating-a-crnn-model-torecognize-text-in-an-image-part-2/ [Accessed 23 2021] [18] "Optical Character Recognition Pipeline: Generating Dataset," [Online] Available: https://theailearner.com/2019/05/28/optical-character-recognitionpipeline-generating-dataset/ [Accessed 2021] [19] Joseph Nelson, Jacob Solawetz, "YOLOv5 is Here: State-of-the-Art Object Detection at 140 FPS," [Online] Available: https://blog.roboflow.com/yolov5-ishere/ [Accessed 16 2021] 51 Trương Minh Phụng – Nguyễn Đăng Quang Lớp DHKHMT13A