Trí tuệ Nhân tạo (AI) là một lĩnh vực nghiên cứu và phát triển các hệ thống máy tính có khả năng thực hiện các tác vụ đòi hỏi sự hiểu biết, quyết định và học hỏi tương tự như con người. AI liên quan đến việc phân tích và mô phỏng các khả năng trí tuệ, như nhận diện hình ảnh, ngôn ngữ tự nhiên và quyết định dựa trên dữ liệu. Trong lĩnh vực này, Deep Learning đóng vai trò quan trọng. Đây là một thuật toán dựa trên nhiều nguyên tắc được lấy cảm hứng từ cách hoạt động của não bộ, cho phép tiếp thu thông tin từ nhiều tầng biểu đạt khác nhau, từ cụ thể đến trừu tượng, từ đó giúp làm rõ nghĩa của các loại dữ liệu. Điều này cho phép Deep Learning đi sâu vào các khái niệm phức tạp và tạo ra các mô hình mạng nơron sâu có khả năng học và nhận diện các đặc trưng phức tạp của dữ liệu. Hiện nay rất nhiều các bài toán nhận dạng sử dụng deep learning để giải quyết do deep learning có thể giải quyết các bài toán với số lượng lớn, kích thước đầu vào lớn với hiệu năng cùng như độ chính xác vượt trội so với các phương pháp phân lớp truyền thống. Sau nhiều thập kỷ chấp hành chính sách đổi mới, Việt Nam đã ghi nhận sự phát triển mạnh mẽ, trở thành một nền kinh tế hội nhập, năng động và hấp dẫn đầu tư trong khu vực. Sự tăng trưởng của đất nước này nằm trong hàng ngũ hàng đầu trên thế giới, điều này càng thêm phần thúc đẩy sự phát triển và tích hợp quốc tế. Đồng thời, trong bối cảnh cuộc cách mạng công nghiệp 4.0 đang diễn ra mạnh mẽ, Việt Nam đã xác định rõ mục tiêu tập trung vào việc phát triển công nghệ trí tuệ nhân tạo (AI), được dự báo là một trong những ngành công nghệ đột phá nhất trong thập kỷ tới
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN - ĐỒ ÁN CHUYÊN NGÀNH NGÀNH: KHOA HỌC MÁY TÍNH ĐỀ TÀI: TƠ MÀU ẢNH ĐEN TRẮNG SỬ DỤNG MẠNG NƠRON TÍCH CHẬP GVHD: TS Nguyễn Mạnh Cường Lớp: IT6052.2 - 20231IT6052002 Nhóm: 24 Thành viên: Phạm Minh Quân - 2021600198 Nguyễn Hoàng Giang - 2020600429 Trần Minh Tuấn - 2021606916 Hà Nội - 2023 MỤC LỤC MỤC LỤC DANH MỤC HÌNH ẢNH LỜI CẢM ƠN LỜI MỞ ĐẦU .6 CHƯƠNG 1: BÀI TỐN TƠ MÀU ẢNH ĐEN TRẮNG .10 1.1 Giới thiệu chung tốn tơ màu ảnh 10 1.2 Quá trình phát triển toán 12 1.3 Những khó khăn tốn 13 1.4 Mục tiêu toán 14 CHƯƠNG 2: CÁC KỸ THUẬT GIẢI QUYẾT BÀI TOÁN 16 2.1 Phương hướng tiếp cận toán 16 2.2 Một số kỹ thuật giải toán 16 2.2.1 K láng giềng gần (K-Nearest Neighbor – K-NN) 18 2.2.2 Máy vectơ hỗ trợ (Support Vector Machine - SVM) .21 2.2.3 Bộ tự mã hóa (Autoencoder) 26 2.2.4 Mạng đối nghịch tạo sinh (generative adversarial network - GANs) 31 2.2.5 Mạng nơ ron tích chập (Convolutional neural network - CNN) 35 2.3 Các nghiên cứu giải toán tiêu biểu 42 2.4 Đề xuất giải pháp chi toán 43 2.4.1 Mơ hình kết hợp VGG16 .45 2.4.2 Mơ hình kết hợp ResNet18 46 2.4.3 Mơ hình kết hợp ResNet152 47 CHƯƠNG 3: THỰC NGHIỆM 49 3.1 Các thư viện dùng tốn tơ màu ảnh 49 3.1.1 Thư viện OpenCV 49 3.1.2 Thư viện Numpy 50 3.1.3 Thư viện Tensorflow 52 3.1.4 Thư viện Keras 53 3.1.5 Một số thư viện khác 54 3.2 Bộ liệu thực nghiệm 55 3.3 Tiền xử lý liệu 56 3.4 Huấn luyện mơ hình .57 3.5 Kết huấn luyện 59 3.6 Kết thực nghiệm 61 3.7 Demo chương trình 64 3.7.1 Giới thiệu framework sử dụng 64 3.7.2 Biểu đồ Usecase .65 3.7.3 Giao diện trang web .66 KẾT LUẬN .68 TÀI LIỆU THAM KHẢO 69 DANH MỤC HÌNH ẢNH Hình 1.1 Ảnh đen trắng sau tô màu 14 Hình 2.1 Siêu phẳng h phân chia liệu huấn luyện thành lớp + - với khoảng cách biên lớn Các điểm gần h vector hỗ trợ(Support Vector - khoanh tròn) 22 Hình 2.2 Mơ hình autoencoder 27 Hình 2.3 Cách hoạt động autoencoder 30 Hình 2.4 Kiến trúc mạng GANS .33 Hình 2.5 Kiến trúc mạng nơ ron tích chập 35 Hình 2.6 Kiến trúc mạng AlexNet 36 Hình 2.7 Kiến trúc mạng VGG 38 Hình 2.8 Minh họa kiến trúc mạng ResNet 39 Hình 2.9 Mơ hình mạng CNN tốn tơ màu ảnh 44 Hình 2.10 Mơ hình kết hợp VGG16 45 Hình 2.11 Cấu trúc basic residual block mơ hình ResNet18 46 Hình 2.12 Mơ hình kết hợp ResNet18 47 Hình 2.13 Mơ hình kết hợp ResNet152 48 Hình 3.1 Các ảnh màu liệu 55 Hình 3.2 Các ảnh đen trắng tương ứng liệu 56 Hình 3.3 Dữ liệu đầu vào sau tiền xử lý 57 Hình 3.4 Q trình huấn luyện mơ hình CNN tập liệu 59 Hình 3.5 Biểu đồ hiển thị độ mát trình đào tạo 60 Hình 3.5 Biểu đồ hiển thị độ xác q trình đào tạo 61 Hình 3.6 Hình ảnh sau tơ màu 62 Hình 3.7 Hình ảnh sau tơ màu 64 Hình 3.8 Biểu đồ usecase 65 Hình 3.9 Giao diện web truy cập 66 Hình 3.10 Giao diện web sau tơ màu ảnh 67 LỜI CẢM ƠN Để tập lớn kết thúc môn học thực thành công, chúng em xin cảm ơn giảng viên hướng dẫn, Tiến Sĩ Nguyễn Mạnh Cường hướng dẫn tận tình, chia sẻ kiến thức, tài liệu kinh nghiệm quý báu suốt q trình thực đề tài để chúng em hoàn thành tập lớn cách tốt Đồng cảm ơn Khoa Công nghệ thông tin Trường Đại học Công Nghiệp Hà Nội tạo điều kiện thuận lợi học tập nghiên cứu Sau nghiên cứu đề tài kết thúc môn học, chúng em học hỏi tích lũy nhiều kiến thức kinh nghiệm để hoàn thiện phát triển thân Bên cạnh đó, hội để chúng em trau dồi thêm kỹ cần thiết chuẩn bị cho trình học tập làm việc sau Trong trình làm đồ án, q trình làm báo cáo, khó tránh khỏi sai sót Chúng em mong nhận ý kiến đóng góp từ thầy giảng viên người quan tâm đến đề tài để đề tài hoàn thiện tốt Chúng em xin chân thành cảm ơn! Nhóm sinh viên thực Phạm Minh Quân Nguyễn Hoàng Giang Trần Minh Tuấn LỜI MỞ ĐẦU Trí tuệ Nhân tạo (AI) lĩnh vực nghiên cứu phát triển hệ thống máy tính có khả thực tác vụ đòi hỏi hiểu biết, định học hỏi tương tự người AI liên quan đến việc phân tích mơ khả trí tuệ, nhận diện hình ảnh, ngơn ngữ tự nhiên định dựa liệu Trong lĩnh vực này, Deep Learning đóng vai trị quan trọng Đây thuật toán dựa nhiều nguyên tắc lấy cảm hứng từ cách hoạt động não bộ, cho phép tiếp thu thông tin từ nhiều tầng biểu đạt khác nhau, từ cụ thể đến trừu tượng, từ giúp làm rõ nghĩa loại liệu Điều cho phép Deep Learning sâu vào khái niệm phức tạp tạo mơ hình mạng nơ-ron sâu có khả học nhận diện đặc trưng phức tạp liệu Hiện nhiều toán nhận dạng sử dụng deep learning để giải deep learning giải tốn với số lượng lớn, kích thước đầu vào lớn với hiệu độ xác vượt trội so với phương pháp phân lớp truyền thống Sau nhiều thập kỷ chấp hành sách đổi mới, Việt Nam ghi nhận phát triển mạnh mẽ, trở thành kinh tế hội nhập, động hấp dẫn đầu tư khu vực Sự tăng trưởng đất nước nằm hàng ngũ hàng đầu giới, điều thêm phần thúc đẩy phát triển tích hợp quốc tế Đồng thời, bối cảnh cách mạng công nghiệp 4.0 diễn mạnh mẽ, Việt Nam xác định rõ mục tiêu tập trung vào việc phát triển cơng nghệ trí tuệ nhân tạo (AI), dự báo ngành công nghệ đột phá thập kỷ tới Tại Việt Nam, ứng dụng cơng nghệ trí tuệ nhân tạo (AI) lan rộ mạnh mẽ vào nhiều lĩnh vực y tế, giáo dục, nông nghiệp, giao thông, thương mại điện tử Điều khơng đem lại lợi ích to lớn cho kinh tế xã hội, mà cịn góp phần làm nên tiến Việt Nam thời gian gần Đặc biệt, Convolutional Neural Network (CNNs – Mạng nơ-ron tích chập) mơ hình Deep Learning tiên tiến giúp cho xây dựng hệ thống thông minh với độ xác cao Chúng em định chọn đề tài "Tô màu ảnh đen trắng mạng CNN" với hy vọng tận dụng sức mạnh công nghệ để mang lại trải nghiệm tốt đồng thời cung cấp công cụ hữu ích cho việc khơi phục màu sắc cho ảnh cổ điển ảnh cũ Bài báo cáo vào nghiên cứu mạng neural mạng Convolution(tích chập), ý tưởng mơ hình CNNs phân lớp ảnh (Image Classification), áp dụng việc xây dựng hệ thống tô màu ảnh đen trắng Mục tiêu đồ án không đơn tạo ứng dụng tô màu ảnh, mà nghiên cứu sâu ứng dụng mạng CNN việc xử lý ảnh đen trắng với mong muốn phát triển hệ thống tự động, đáng tin cậy dễ sử dụng, giúp người dùng khôi phục màu sắc ảnh cổ điển cách hiệu chân thực Ngoài ra, báo cáo đặt mục tiêu tối ưu hóa hiệu suất mơ hình để đảm bảo kết tơ màu đạt độ xác thẩm mỹ cao Đối tượng nghiên cứu ảnh đen trắng chưa tô màu, bao gồm ảnh cổ điển ảnh cũ Điều quan trọng phạm vi nghiên cứu báo cáo tập trung vào việc áp dụng kỹ thuật mạng nơ-ron tích chập (CNN) để tơ màu tự động cho loại ảnh Đồng thời tối ưu hóa cải thiện hiệu suất mơ hình thơng qua kỹ thuật tiên tiến để đảm bảo kết tơ màu đạt độ xác thẩm mỹ cao Để đạt mục tiêu đề ra, chúng em tiến hành bước nghiên cứu sau với việc áp dụng kỹ thuật tiên tiến Bước thu thập tiền xử lý liệu Một tập liệu đa dạng ảnh đen trắng thu thập tiến hành bước tiền xử lý nhằm chuẩn bị liệu đầu vào cho mơ hình CNN Bước thiết kế huấn luyện mơ hình CNN: tạo kiến trúc mơ hình CNN phù hợp, sau sử dụng liệu tiền xử lý để huấn luyện mơ hình Q trình u cầu kiểm sốt tối ưu hóa tham số mơ hình Cuối đánh giá tối ưu hóa mơ hình, mơ hình đánh giá hiệu suất thơng qua tiêu chí thẩm mỹ chất lượng hình ảnh, từ tiến hành bước tối ưu hóa để cải thiện kết tô màu Nội dung báo cáo bao gồm chương sau: Chương 1: Bài tốn tơ màu ảnh đen trắng Trong chương 1, nhóm giới thiệu tổng quan tốn tơ màu ảnh đen trắng, bao gồm lý toán quan trọng ứng dụng lĩnh vực xử lý hình ảnh Nó bao gồm phần lịch sử ngắn cách tiếp cận vấn đề này, thách thức sở lý thuyết việc chuyển đổi ảnh đen trắng thành ảnh màu Chương 2: Các kỹ thuật giải toán Tại chương tập trung vào việc trình bày phân tích kỹ thuật khác sử dụng để giải tốn tơ màu ảnh đen trắng Bao gồm số phương pháp phân đoạn theo ngưỡng, phân cụm, kết hợp mạng Neural Networks phương pháp học sâu GANs, CNN autoencoders Mỗi kỹ thuật mô tả chi tiết với ưu nhược điểm Chương 3: Thực nghiệm Chương trình bày trình thực thử nghiệm để đánh giá so sánh hiệu suất phương pháp đề xuất Chương Nó bao gồm mơ tả tập liệu sử dụng, phương pháp đánh giá hiệu suất, kết thực nghiệm phân tích so sánh kỹ thuật, đồng thời tập trung vào việc trình bày trình xây dựng triển khai sản phẩm demo thực tế, có khả tô màu ảnh đen trắng dựa kỹ thuật tốt chọn sau trình thử nghiệm Phần kết luận Tổng kết lại đạt báo cáo, rút học kinh nghiệm kiến thực tiếp thu trình nghiên cứu thực đề tài tệp tin, thư mục, kiểm tra tồn chúng nhiều chức hữu ích khác liên quan đến hệ thống tập tin 3.2 Bộ liệu thực nghiệm Bộ liệu landscape Images có kích thước 203.47 MB, bao gồm 7129 ảnh màu với ảnh đen trắng tương ứng với ảnh màu Link Dataset: https://www.kaggle.com/datasets/theblackmamba31/landscape-image-col orization ● Thư mục color chứa 7129 ảnh màu dùng để huấn luyện mơ hình Hình 3.1 Các ảnh màu liệu ● Thư mục gray chứa 7129 ảnh đen trắng ứng với ảnh màu 55 Hình 3.2 Các ảnh đen trắng tương ứng liệu 3.3 Tiền xử lý liệu Bộ liệu thô tiền xử lý trước đưa vào model 56 Các hình ảnh màu từ thư mục 'color', thực bước tiền xử lý chuyển đổi không gian màu từ BGR sang RGB thay đổi kích thước ảnh kích thước mong muốn (ở 160x160 pixels) Sau đó, ảnh chuẩn hóa dạng số thực chia cho 255 để nằm khoảng từ đến Các ảnh sau xử lý thêm vào danh sách color_img Tương tự việc đọc ảnh màu, hình ảnh xám từ thư mục 'gray' Cũng thực bước tiền xử lý tương tự với ảnh màu Các ảnh xám sau xử lý thêm vào danh sách gray_img Hình 3.3 Dữ liệu đầu vào sau tiền xử lý 3.4 Huấn luyện mơ hình Bước xây dựng hai hàm, down up, hàm đại diện cho phần mơ hình: Downsampling Upsampling Hàm down tạo lớp Convolutional để giảm kích thước khơng gian đầu vào, up sử dụng lớp Conv2DTranspose để tăng kích thước khơng gian 57 Sau đó, model tạo cách sử dụng lớp Convolutional Transpose Convolutional để tạo Generator Mơ hình nhận ảnh xám (grayscale) với kích thước (160, 160, 3) làm đầu vào tạo ảnh màu kích thước làm đầu Q trình giúp mơ hình học cách chuyển đổi ảnh xám thành ảnh màu Để tăng cường khả học hiệu suất mơ hình, sử dụng kỹ thuật Batch Normalization LeakyReLU 58 Sau khai báo phương pháp, thủ tục module sử dụng trình huấn luyện trên, nhóm tiến hành huấn luyện mơ hình với liệu chuẩn bị Đoạn mã nguồn huấn luyện mô sau: 3.5 Kết huấn luyện Kết huấn luyện chương trình: Hình 3.4 Quá trình huấn luyện mơ hình CNN tập liệu Kết huấn luyện mơ hình đánh giá thơng qua hai thước đo chính: mát (loss) độ xác (accuracy) Quá trình đánh giá diễn trình huấn luyện (train) trình kiểm định (validate) với giá trị tham số sử dụng trình huấn luyện, bao gồm 50 epoch kích thước batch 32 59 Mất mát (loss) số đo lường mức độ sai lệch giá trị dự đoán giá trị thực tế Đây phần quan trọng việc đánh giá hiệu suất mơ hình, với mục tiêu giảm thiểu sai số mơ hình Hình 3.5 Biểu đồ hiển thị độ mát trình đào tạo Độ xác (accuracy) đo lường tỷ lệ dự đốn xác so với tổng số mẫu đánh giá Đây thước đo quan trọng để hiểu khả mơ hình việc phân loại hay dự đốn đầu 60 Hình 3.5 Biểu đồ hiển thị độ xác q trình đào tạo 3.6 Kết thực nghiệm Sử dụng mơ hình huấn luyện để dự đốn màu sắc cho hình ảnh xám từ tập liệu kiểm định Đối với hình ảnh xám tập kiểm định, mơ hình sử dụng để dự đốn hình ảnh màu tương ứng Kết dự đoán giới hạn khoảng từ đến hàm np.clip(), điều đảm bảo giá trị màu sắc nằm phạm vi hợp lý Sau đó, hình ảnh màu dự đốn, hình ảnh xám ban đầu hình ảnh màu thực tế từ tập kiểm định trực quan hóa thơng qua hàm plot_images() để so sánh 61 Hình 3.6 Hình ảnh sau tơ màu 62 Có thể thấy hai ảnh mơ hình tô màu giống ảnh gốc, thứ ba có sai lệch màu sắc tạo tự nhiên cho ảnh 63 Hình 3.7 Hình ảnh sau tơ màu Bên cạnh có ảnh bị tơ lệch nhiều, cần điều chỉnh tăng cường liệu huấn luyện, cải thiện kiến trúc mơ hình tinh chỉnh siêu tham số để cải thiện chất lượng dự đốn màu sắc 3.7 Demo chương trình 3.7.1 Giới thiệu framework sử dụng Streamlit framework mã nguồn mở thiết kế để tạo ứng dụng web dựa Python cách dễ dàng nhanh chóng Điểm mạnh Streamlit nằm đơn giản tích hợp tuyệt vời với mã nguồn Python thơng thường Người dùng tập trung vào việc viết mã Python để xây dựng ứng dụng web mà không cần phải quan tâm nhiều đến kiến thức frontend back-end Streamlit sử dụng để tạo ứng dụng máy học, trực quan hóa liệu, demo mơ hình, xây dựng sản phẩm có thực Điểm đặc biệt khả tự động tải lại, cho phép bạn thấy kết thay đổi code Python mà không cần phải tải lại trình duyệt hay khởi động lại ứng dụng Điều giúp tăng tốc độ phát triển thử nghiệm ứng dụng Với cộng đồng lớn việc hỗ trợ tốt từ cộng đồng người dùng, Streamlit trở thành công cụ phổ biến việc phát triển ứng dụng web dựa liệu máy học Python 64 3.7.2 Biểu đồ Usecase Hình 3.8 Biểu đồ usecase ● Tải ảnh: Cho phép người dùng tải ảnh đen trắng lên từ thiết bị ● Hiển thị kết quả: Cho phép người dùng xem kết ảnh sau tô màu Mô tả chi tiết Usecase ● Usecase Tải ảnh Tên usecase Tải ảnh Mô tả vắn tắt Use case cho phép người dùng tải lên hình ảnh từ thiết bị để thực tô màu Luồng kiện: Người dùng tải lên hình ảnh từ thiết bị Hệ thống lưu trữ hình ảnh tiến hành xử lý hình ảnh Usecase kết thúc Các u cầu đặc biệt Khơng có Tiền điều kiện Người dùng truy cập trang web có hình ảnh cần dự đốn 65 Hậu điều kiện Hệ thống lưu trữ hình ảnh tiến hành xử lý Điểm mở rộng Khơng có ● Usecase Hiển thị kết Tên usecase Hiển thị kết Mô tả vắn tắt Use case cho phép hệ thống hiển thị kết dự đoán cho người dùng sau xử lý hình ảnh Luồng kiện: Hệ thống hiển thị kết dự đoán cho người dùng Usecase kết thúc Các yêu cầu đặc biệt Khơng có Tiền điều kiện Hệ thống xử lý hình ảnh có kết dự đốn Hậu điều kiện Kết dự đoán hiển thị cho người dùng Điểm mở rộng Khơng có 3.7.3 Giao diện trang web Hình 3.9 Giao diện web truy cập 66 Hình 3.10 Giao diện web sau tơ màu ảnh 67 KẾT LUẬN Thời gian làm đồ án tốt nghiệp vừa qua trải nghiệm vô thú vị đáng giá với nhóm Chúng em tìm hiểu kỹ thuật khác trí tuệ nhân tạo nhằm giải tốn tơ màu ảnh, qua khơng tích lũy kinh nghiệm chun mơn mà cịn học kĩ làm việc độc lập, quản lý thời gian Đây chắn hành trang quý giá nghiệp tương lai chúng em Chúng em tìm hiểu, nghiên cứu, ứng dụng mơ hình học máy tận dụng nghiên cứu công bố tơ màu ảnh để hồn thành đề tài Nghiên cứu kỹ thuật Trí tuệ nhân tạo mơ hình học máy Deep Learning, Support Vector Machine, Transfer Learning ứng dụng cho tốn Ngồi ra, nhóm em tự xây dựng thực nghiệm liệu dành cho tốn tơ màu ảnh Dưới hướng dẫn thầy Nguyễn Mạnh Cường, chúng em tự thiết kế mơ hình học chuyển tiếp kết hợp mạng neural tích chập autoencoder để giải toán xây dựng nên hệ thống tự động tô màu ảnh Hệ thống nhóm có thành cơng ban đầu với độ xác khả tơ màu tự động đáng kể Tuy nhiên, hạn chế tài nguyên thời gian, hệ thống phụ thuộc vào server miễn phí, gây giới hạn tốc độ khả sử dụng Đồng thời, chất lượng ảnh sau tô hệ thống chưa thực tốt, kết đánh giá mơ hình thấp, khoảng 80% Vì nên chúng em mong thầy đóng góp ý kiến để cải thiện hệ thống này, tiến tới phát triển thành app di động thương mại tương lai Nhóm em xin gửi lời cảm ơn chân thành tới thầy giáo, Tiến sĩ Nguyễn Mạnh Cường tận tình hướng dẫn em thực đề tài Nhóm em xin chúc thầy ln ln mạnh khỏe thành công nghiên cứu tới 68 TÀI LIỆU THAM KHẢO [1] S Iizuka, E Simo-Serra, and H Ishikawa, "Let there be Color!: Joint End-to-end Learning of Global and Local Image Priors for Automatic Image Colorization with Simultaneous Classification”, SIGGRAPH, 35(4), 2016 [2] G Larsson, M Maire, and G Shakhnarovich, "Learning Representations for Automatic Colorization”, ECCV, 2016 [3] R Zhang, P Isola, and A A Efros, “Colorful image colorization”, ECCV, 2016 [4] R Zhang, J Y Zhu, P Isola, X Geng, A S Lin, T Yu, and A A Efros, "Real-Time User-Guided Image Colorization with Learned Deep Priors”, SIGGRAPH, 36(4), 2017 [5] Zunair, H., Mahmood, A.N., "Image Colorization using Similar Images" [6] K Simonyan and A Zisserman, "Very Deep Convolutional Networks for Large-Scale Image Recognition”, ICLR, 2015 [7] K He, X Zhang, S Ren, J Sun, "Deep Residual Learning for Image Recognition”, CVPR, 2016 [8] Lê Thị Thuỷ, Trần Hùng Cường, Ngơ Thị Bích Th (2019) “Giáo trình xử lý ảnh”, Đại học Cơng nghiệp Hà Nội [9] Phạm Ngọc Hùng, Trương Anh Hoàng, Đặng Văn Hưng(2014) “Giáo trình kiểm thử phần mềm” 69