BÁO cáo CUỐI kì TRÍ TUỆ NHÂN tạo NHẬN BIẾT CON vật BẰNG âm THANH

23 5 0
BÁO cáo CUỐI kì TRÍ TUỆ NHÂN tạo NHẬN BIẾT CON vật BẰNG âm THANH

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH KHOA CƠ KHÍ CHẾ TẠO MÁY BỘ MƠN CƠ ĐIỆN TỬ 🙡🙢✪🙠🙣 BÁO CÁO CUỐI KÌ TRÍ TUỆ NHÂN TẠO NHẬN BIẾT CON VẬT BẰNG ÂM THANH GVHD: PGS.TS Nguyễn Trường Thịnh MHP: ARIN33762_06 SVTH: Phạm Hữu Bằng MSSV: 19146307 Năm học: Học kì 2021-2022 TP Hồ Chí Minh,tháng năm 2022 1|Page “MỤC LỤC” CHƯƠNG 1: TỔNG QUAN……………………………………………………………………… 1.1.Giới thiệu công nghiệp 4.0 tầm ảnh hưởng………………………………………… 1.2.Sơ lược lịch sử công nghệ nhận diện âm thanh………………………………………………1 1.3.Lý chọn đề tài……………………………………………………………………………… 1.4.Mục tiêu nghiên cứu…………………………………………………………………………….2 1.5.Nội dung báo cáo……………………………………………………………………………… CHƯƠNG 2: CƠ SỞ LÝ THUYẾT……………………………………………………………… 2.1.Thuật toán CNN - Convolutional Neural Network…………………………………………… 2.1.1.Convolutional Neural Network gì………………………………………………………… 2.1.2.Cấu trúc mạng CNN…………………………………………………………………… 2.1.2.1.Trường tiếp nhận cục (local receptive field)…………………………………………… 2.1.2.2.Trọng số chia sẻ (shared weight and bias)………………………………………………… 2.1.2.3.Lớp tổng hợp (pooling layer)……………………………………………………………… 2.2.Thư viện………………………………………………………………………………………….7 2.2.1 Thư viện Tensorflow………………………………………………………………………….7 2.2.2.Thư viện Keras……………………………………………………………………………… 2.2.3.Thư viện Scikit-learn (sklearn)……………………………………………………………… 2.2.4 Thư viện librosa………………………………………………………………………………9 CHƯƠNG 3: ỨNG DỤNG…………………………………………………………………………10 3.1.Xây dựng mơ hình – Trainning model………………………………………………………….10 3.1.1.Datasets……………………………………………………………………………………… 10 3.1.2.Xây dựng mơ hình…………………………………………………………………………….10 CHƯƠNG 4: KẾT LN………………………………………………………………………… 18 4.1.Kết đạt Mơ hình chuẩn đoán………………………………………………………18 4.2Nhược điểm………………………………………………………………………………………19 4.3Hướng phát triển…………………………………………………………………………………19 2|Page BAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANH CHƯƠNG 1: TỔNG QUAN 1.1.Giới thiệu công nghiệp 4.0 tầm ảnh hưởng -Công nghiệp 4.0 tập trung vào công nghệ kỹ thuật số từ thập kỷ gần lên cấp độ hoàn toàn với trợ giúp kết nối thông qua Internet vạn vật, truy cập liệu thời gian thực giới thiệu hệ thống vật lý không gian mạng Công nghiệp 4.0 cung cấp cách tiếp cận toàn diện hơn, liên kết tồn diện cho sản xuất Nó kết nối vật lý với kỹ thuật số cho phép cộng tác truy cập tốt phận, đối tác, nhà cung cấp, sản phẩm người Công nghiệp 4.0 trao quyền cho chủ doanh nghiệp kiểm sốt hiểu rõ khía cạnh hoạt động họ cho phép họ tận dụng liệu tức thời để tăng suất, cải thiện quy trình thúc đẩy tăng trưởng -Cơng nghiệp 4.0 cho phép nhà máy thông minh, sản phẩm thông minh chuỗi cung ứng thông minh, làm cho hệ thống sản xuất dịch vụ trở nên linh hoạt, linh hoạt đáp ứng khách hàng Các thuộc tính hệ thống sản xuất dịch vụ với Công nghiệp 4.0 nêu bật lợi ích mà Cơng nghiệp 4.0 mang lại cho doanh nghiệp thảo luận Trong tương lai, khoa học công nghệ tiếp tục phát triển đóng vai trị ngày quan trọng trình phát triển kinh tế xã hội quốc gia Tri thức xác định lực lượng sản xuất trực tiếp động lực phát triển hàng đầu quốc gia Để phát triển bền vững, quốc gia phải tiếp tục đẩy mạnh đầu tư phát triển khoa học công nghệ nhằm ứng dụng thành tựu khoa học công nghệ vào sản xuất, đặc biệt thành tựu cách mạng công nghiệp lần thứ tư nhằm tạo sản phẩm công nghệ sản xuất Tới cơng nghệ nhận diện giả lập giọng nói đời để đáp nhu cầu phát triển người 1.2.Sơ lược lịch sử công nghệ nhận diện âm -Công nghệ nhận diện âm máy hệ thống có khả nhận dịch (hoặc hiểu thực hiện) lệnh thu từ âm động vật Nó sử dụng nhiều lĩnh vực trí tuệ nhân tạo (AI), Google Assistant ví dụ điển hình Đây máy hệ thống có khả nhận dịch (hoặc hiểu thực hiện) lệnh thu từ âm động vật 1|Page BAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANH BAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANH 1.3.Lý chọn đề tài -Như đề cập mục 1, Công nghiệp 4.0 tầm ảnh hưởng đến xã hội to lớn Việc nhận biết âm động vật phân tích phân loại quan trọng Chúng ta nhận biết cảm xúc điềm báo tùy vào nhận động vật có giác quan nhạy cảm, thơng qua nhận biết phân tích tìm hướng giải tốt 1.4.Mục tiêu nghiên cứu -Xây dựng mơ hình chuẩn đốn âm giải pháp CNN -Phương pháp nghiên cứu -Tìm hiểu lý thuyết âm thanh, tiến hành lấy liệu -Tìm hiểu phương pháp có thơng qua Github, Kagle -Xây dựng “Model trainning” tiến hành chạy thử để kiểm chứng 1.5.Nội dung báo cáo -Bài báo cáo tập trung vào việc nghiên cứu phương pháp tối ưu để tạo model train CNN cho độ xác đạt cao Từ đưa chuẩn đốn âm cho xác Model tạo đưa lên Github, Kagle để người dễ dàng nghiêm cứu sử dụng Bài báo cáo xây dựng với chương, bao gồm: CHƯƠNG 1: TỔNG QUAN CHƯƠNG 2: CƠ SỞ LÍ THUYẾT CHƯƠNG 3: ỨNG DỤNG CHƯƠNG 4: KẾT LUẬN 2|Page BAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANH BAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANH CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1.Thuật toán CNN - Convolutional Neural Network 2.1.1.Convolutional Neural Network Convolutional Neural Network (CNN hoặc ConvNet) được tạm dịch là: Mạng nơ ron tích tụ Đây xem mơ hình của Deep Learning – tập hợp thuật tốn để có mơ hình liệu trừu tượng hóa mức cao cách sử dụng nhiều lớp xử lý cấu trúc phức tạp Hiểu đơn giản, CNN lớp mạng nơ-ron sâu , áp dụng phổ biến để phân tích hình ảnh trực quan Hiện tại, chưa có định nghĩa cách xác thuật tốn CNN Mạng CNN thiết kế với mục đích xử lý liệu thơng qua nhiều lớp mảng Ngồi ra, CNN giúp bạn tạo hệ thống thông minh, phản ứng với độ xác cao CNN sử dụng nhiều toán nhận dạng object ảnh Để tìm hiểu thuật tốn sử dụng rộng rãi cho việc nhận dạng (detection), tìm hiểu thuật tốn Convolutional cửa sổ trượt (Sliding Windows) ma trận (xem hình) Hình 1: Ma trận Convolutional Các convolutional layer có parameter(kernel) học để tự điều chỉnh lấy thơng tin xác mà khơng cần chọn feature Trong hình ảnh ví dụ Hình 2.2, ma trận bên trái hình ảnh trắng đen số hóa Ma trận có kích thước 5×5 điểm ảnh có giá trị giao điểm dòng cột Convolution hay tích chập nhân phần tử ma trận Sliding Window hay gọi kernel, filter feature detect ma trận có kích thước nhỏ ví dụ 3×3 Convolution hay tích chập nhân phần tử bên ma trận 3×3 với ma trận bên trái Kết ma trận gọi Convoled feature sinh từ việc nhận ma trận Filter với ma trận ảnh 5×5 bên trái 3|Page BAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANH BAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANH Hình 2: Hình ảnh trắng đen số hóa Hình 3: Hình ảnh Convoled feature 2.1.2.Cấu trúc mạng CNN Mạng Convolutional Neural Network tập hợp nhiều lớp Convolutional chồng lên nhau, sử dụng hàm Nonlinear Activation để kích hoạt trọng số node Ở lớp CNN, sau hàm kích hoạt tạo thông tin trừu tượng cho lớp Mỗi Layer kết tiếp kết Convolution từ Layer trước nên có kết nối cục Thơng qua q trình huấn luyện mạng, lớp Layer CNN tự động học giá trị thể qua lớp Filter Ví dụ: Trong tác vụ phân lớp ảnh, CNNs cố gắng tìm kiếm thông số tối ưu cho Filter tương ứng theo thứ tự: Raw Pixel => Edges => Shapes => Facial => High – level Features Layer cuối dùng để phân lớp ảnh Tại mơ hình CNN, bạn cần lưu ý đến hai khía cạnh là: Location Invariance (tính bất biến) Compositionality (tính kết hợp) Nếu đối tượng chiếu theo góc độ khác (Translation, Rotation, Scaling) tính xác thuật toán bị ảnh hưởng đáng kể 4|Page BAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANH BAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANH Hình 4: Cấu trúc mạng CNN -Trong mơ hình CNN có khía cạnh cần quan tâm tính bất biến (Location Invariance) tính kết hợp (Compositionality) Với đối tượng, đối tượng chiếu theo gốc độ khác (translation, rotation, scaling) độ xác thuật tốn bị ảnh hưởng đáng kể -Pooling Layer, tạm dịch: lớp tổng hợp Đây xem gần lớp cuối trước đưa kết CNN Chính thế, để có kết dễ hiểu dễ sử dụng Pooling Layer có nhiệm vụ làm đơn giản hóa thơng tin đầu Nghĩa là, sau hồn thành q trình tính tốn qt lớp đến Pooling Layer nhằm lượt bớt không tin không cần thiết cho kết mà cần Mạng CNN sử dụng ý tưởng bản: -Các trường tiếp nhận cục (local receptive field): Local Receptive Field, tạm dịch: trường tiếp nhận cục Đây xem lớp giúp bạn tách lọc liệu, thông tin ảnh chọn vùng ảnh có giá trị sử dụng -Trọng số chia sẻ (shared weights): Shared Weights, tạm dịch: trọng số chia sẻ Chức lớp hỗ trợ bạn làm giảm tối đa số lượng tham số mạng CNN Vì Convolution bao gồm Feature Map khác nhau, Feature Map lại giúp Detect vài Feature ảnh -Tổng hợp (pooling) 2.1.2.1.Trường tiếp nhận cục (local receptive field) -Đầu vào mạng CNN ảnh Ví dụ ảnh có kích thước 28×28 tương ứng đầu vào ma trận có 28×28 giá trị điểm ảnh ô ma trận Trong mơ hình mạng ANN truyền thống kết nối neuron đầu vào vào tầng ảnh Tuy nhiên CNN không làm mà kết nối vùng nhỏ neuron đầu vào filter có kích thước 5×5 tương ứng (28- + 1) 24 điểm ảnh đầu vào Mỗi kết nối học trọng số neuron ẩn học bias Mỗi vùng 5×5 gọi trường tiếp nhận cục 5|Page BAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANH BAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANH Hình 5:Ma trận 28x28 Như vậy, local receptive field thích hợp cho việc phân tách liệu ảnh, giúp chọn vùng ảnh có giá trị cho việc đánh giá phân lớp 2.1.2.2.Trọng số chia sẻ (shared weight and bias) -Đầu tiên, trọng số cho filter (kernel) phải giống Tất nơ-ron lớp ẩn đầu phát xác feature tương tự vị trí khác hình ảnh đầu vào Chúng ta gọi việc map từ input layer sang hidden layer feature map Tóm lại, convolutional layer bao gồm feature map khác Mỗi feature map giúp detect vài feature ảnh Lợi ích lớn trọng số chia sẻ giảm tối đa số lượng tham số mạng CNN 2.1.2.3.Lớp tổng hợp (pooling layer) -Lớp pooling thường sử dụng sau lớp convulational để đơn giản hóa thơng tin đầu để giảm bớt số lượng neuron -Như qua lớp Max Pooling số lượng neuron giảm phân nửa Trong mạng CNN có nhiều Feature Map nên Feature Map cho Max Pooling khác Chúng ta thấy Max Pooling cách hỏi xem đặc trưng đặc trưng đặc trưng Ngồi Max Pooling cịn có L2 Pooling -Cuối ta đặt tất lớp lại với thành CNN với đầu gồm neuron với số lượng tùy toán 6|Page BAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANH BAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANH 2.2.Thư viện 2.2.1 Thư viện Tensorflow Tensorflow thư viện mã nguồn mở phục vụ cho hoạt động Machine Learning Nó xây dựng phát triển Google Trong quy trình phát triển phần mềm đòi hỏi nhiều đoạn mã thuật toán triển khai Thuật toán vừa để phân tích, tổng hợp liệu vừa tảng để phần mềm khởi chạy Tuy nhiên chương trình lớn khối lượng phép tốn nhiều Cách tính tốn thủ cơng khơng thể đảm bảo hiệu suất mong muốn Vì Tensorflow xuất chương trình hỗ trợ tính tốn cách tiếp cận mạnh mẽ phép tính tốn phức tạp Nhờ có Tensorflow, người dùng đơn giản hóa tốn học thơng qua đồ thị luồng liệu tổng hợp Ngồi ra, khơng thể khơng kể đến ứng dụng Tensorflow như: -Tích hợp sẵn nhiều thư viện machine learning -Có khả tương thích mở rộng tốt Được Google phát triển cho machine learning phục vụ nghiên cứu lẫn xây dựng ứng dụng thực tế Dù đem đến nhiều lợi ích thực nguyên lý hoạt động Tensorflow đơn giản Về Tensorflow giúp người dùng tạo biểu đồ luồng liệu cấu trúc mô tả Đây lý Tensorflow coi framework Những khung sườn hướng dẫn liệu làm cách để qua biểu đồ series nodes xử lý Lúc này, nodes đại diện cho hoạt động toán học cần xử lý Còn kết nối edge coi tensor mảng liệu đa chiều Như nêu phần trên, Tensorflow vốn phát triển từ Python Vì thân Tensorflow ứng dụng Python Còn nodes tensor Tensorflow đối tượng thuộc Python Điều giúp ích nhiều cho lập trình viên Python vốn hệ thống dễ sử dụng, cho phép đối tượng trừu tượng bậc cao dễ dàng kết hợp với Chính nhờ giúp đỡ đắc lực này, trình phát triển phần mềm đơn giản hóa nhiều 2.2.2.Thư viện Keras Keras chạy thư viện máy mã nguồn mở TensorFlow, Theano Bộ công cụ nhận thức (CNTK) Theano thư viện python sử dụng cho tác vụ tính tốn số nhanh TensorFlow thư viện toán học biểu tượng tiếng sử dụng để tạo mạng nơ-ron mơ hình học sâu TensorFlow linh hoạt lợi ích tính toán phân tán CNTK khung học sâu phát triển Microsoft Nó sử dụng thư viện Python, C #, C ++ công cụ học máy độc lập Theano TensorFlow thư viện mạnh khó hiểu để tạo mạng nơ-ron Keras dựa cấu trúc tối thiểu, cung cấp cách dễ dàng dễ dàng để tạo mô hình học sâu dựa TensorFlow Theano Keras thiết kế để xác định nhanh mơ hình học sâu Chà, Keras lựa chọn tối ưu cho ứng dụng học sâu 7|Page BAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANH BAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANH Keras tận dụng kỹ thuật tối ưu hóa khác để làm cho API mạng thần kinh cấp cao dễ dàng hiệu Nó hỗ trợ tính sau: -API quán, đơn giản mở rộng -Cấu trúc tối thiểu - dễ dàng đạt kết mà không cần rườm rà -Hỗ trợ nhiều tảng backend -Thân thiện với người dùng chạy CPU GPU -Khả mở rộng tính tốn cao Keras động, mạnh mẽ có ưu điểm sau: -Cộng động lớn hỗ trợ -Dễ dàng để kiểm tra -Mạng nơ-ron Keras viết Python giúp thứ đơn giản -Keras hỗ trợ mạng convolution recurrent 2.2.3.Thư viện Scikit-learn (sklearn) Scikit-learn (sklearn) thư viện mạnh mẽ, giúp mang thuật toán học máy (machine learning) vào hệ thống. Thư viện tích hợp nhiều thuật tốn đại cố điển giúp bạn vừa học vừa tiến hành đưa giải pháp hữu ích cho toán bạn cách đơn giản Thư viện cung cấp tập công cụ xử lý toán machine learning statistical modeling gồm: classification, regression, clustering, và dimensionality reduction Thư viện cấp phép quyền chuẩn FreeBSD và chạy nhiều tảng Linux Scikit-learn sử dụng tài liệu để học tập Để cài đặt scikit-learn trước tiên phải cài thư viện SciPy (Scientific Python) Những thành phần gồm: -Numpy: Gói thư viện xử lý dãy số ma trận nhiều chiều -SciPy: Gói hàm tính tốn logic khoa học -Matplotlib: Biểu diễn liệu dạng đồ thị chiều, chiều   -IPython: Notebook dùng để tương tác trực quan với Python -SymPy: Gói thư viện kí tự tốn học -Pandas: Xử lý, phân tích liệu dạng bảng Những thư viện mở rộng SciPy thường đặt tên dạng SciKits Như thư viện gói lớp, hàm sử dụng thuật tốn học máy đặt tên scikit-learn 8|Page BAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANH BAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANH 2.2.4 Thư viện librosa librosalà gói python để phân tích âm nhạc âm thanh. Nó cung cấp khối xây dựng cần thiết để tạo hệ thống truy xuất thông tin âm nhạc MFCC thuật tốn để trích xuất thơng tin từ tín hiệu đầu vào Ta xét toán đơn giản: Đầu vào tập audio, audio âm tiết Tìm feature tốt để phân biệt âm vị MFCC thuật tốn giúp ta tìm feature DFT – Discrete Fourier Transform Kết thu spectrogram Hình 6: Spectrogram (quang phổ) 9|Page BAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANH BAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANH CHƯƠNG 3: ỨNG DỤNG 3.1.Xây dựng mô hình – Trainning model Em sử dụng Google Colab để xây dựng mơ hình trainning 3.1.1.Datasets Bảng Datasets Con Bị Số lượng file âm 20 Con Chó 20 Con Dế 20 Con Ếch 20 Con Gà 20 Con Heo 20 Con Hổ 20 Con Mèo 20 Con Tắc Kè 20 Con Vịt 20 Động Vật train Tổng 200 3.1.2.Xây dựng mơ hình Bước 1: Liên kết Google Drive from google.colab import driv e drive.mount('/content/drive') Bước 2: Khai báo thư viện cần thiết import os import pandas as pd from glob import glob import numpy as np from keras import layers 10 | P a g e BAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANH BAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANH from keras import models from keras.layers.advanced_activations import LeakyReLU from keras.optimizers import adam_v2 import keras.backend as K import librosa import librosa.display import pylab import matplotlib.pyplot as plt from matplotlib import figure import gc import keras from path import Path from keras.layers import Dense, Activation, Flatten, Dropout, BatchNorma lization from keras.models import Sequential, Model from keras.layers import Conv2D, MaxPooling2D, MaxPool2D from keras import regularizers, optimizers import pandas as pd import numpy as np from keras_preprocessing.image import ImageDataGenerator import pickle Bước 3: Lấy liệu mô tả liệu train_data_path='/content/drive/MyDrive/testamthanh/data/train/' test_data_path='/content/drive/MyDrive/testamthanh/data/test/' wav_path = '/content/drive/MyDrive/testamthanh/data/wav/' # Ham tao ra spectrogram tu file wav def create_spectrogram(filename,name, file_path):     plt.interactive(False)     clip, sample_rate = librosa.load(filename, sr=None)     fig = plt.figure(figsize=[0.72,0.72])     ax = fig.add_subplot(111)     ax.axes.get_xaxis().set_visible(False)     ax.axes.get_yaxis().set_visible(False)     ax.set_frame_on(False)     S = librosa.feature.melspectrogram(y=clip, sr=sample_rate)     librosa.display.specshow(librosa.power_to_db(S, ref=np.max))     filename  = file_path + name + '.png'     plt.savefig(filename, dpi=400, bbox_inches='tight',pad_inches=0)     plt.close()     fig.clf()     plt.close(fig) 11 | P a g e BAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANH BAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANH     plt.close('all')     del filename,name,clip,sample_rate,fig,ax,S # Lap trong thu muc data/wav/train va tao ra file anh spectrogram Data_dir=np.array(glob(wav_path+"train/*")) for file in Data_dir[0:4000]:     filename,name = file,file.split('/')[-1].split('.')[0]     create_spectrogram(filename,name, train_data_path) gc.collect() # Lap trong thu muc data/wav/test va tao ra file anh spectrogram Test_dir=np.array(glob(wav_path+"test/*")) for file in Test_dir[0:3000]:     filename,name = file,file.split('/')[-1].split('.')[0]     create_spectrogram(filename,name,test_data_path) gc.collect() print("Process done!") Như mô tả bảng 2.1, liệu em dùng để tạo mơ hình có thư mục bao gồm train_data_path, test_data_path way_path, liệu bao gồm âm động vật hình ảnh quang phổ chuyển đổi từ âm đưa lên Google Drive Bằng cách lấy ngẫu nhiên hình ảnh thư mục, xem data đưa vào hình đây: Hình 7: Ảnh quang phổ chuyển đổi từ file âm 12 | P a g e BAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANH BAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANH Hình 8: Số lượng hình ảnh đưa vào training Bước 4: Tạo labels folder = '/content/drive/MyDrive/testamthanh/data/train/' photos, labels = list(), list() for file in listdir(folder):   if file.startswith('tiengbo'):     output = 0     photo = load_img(folder+file,target_size=(200,200))     photo = img_to_array(photo)     photos.append(photo)     labels.append(output) for file in listdir(folder):   if file.startswith('tiengcho'):     output = 1     photo = load_img(folder+file,target_size=(200,200))     photo = img_to_array(photo)     photos.append(photo)     labels.append(output) for file in listdir(folder):   if file.startswith('tiengde'):     output = 2     photo = load_img(folder+file,target_size=(200,200))     photo = img_to_array(photo)     photos.append(photo)     labels.append(output) 13 | P a g e BAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANH BAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANH for file in listdir(folder):   if file.startswith('tiengech'):     output = 3     photo = load_img(folder+file,target_size=(200,200))     photo = img_to_array(photo)     photos.append(photo)     labels.append(output) for file in listdir(folder):   if file.startswith('tiengga'):     output = 4     photo = load_img(folder+file,target_size=(200,200))     photo = img_to_array(photo)     photos.append(photo)     labels.append(output) for file in listdir(folder):   if file.startswith('tiengheo'):     output = 5     photo = load_img(folder+file,target_size=(200,200))     photo = img_to_array(photo)     photos.append(photo)     labels.append(output) for file in listdir(folder):   if file.startswith('tiengho'):     output = 6     photo = load_img(folder+file,target_size=(200,200))     photo = img_to_array(photo)     photos.append(photo)     labels.append(output) for file in listdir(folder):   if file.startswith('tiengmeo'):     output = 7     photo = load_img(folder+file,target_size=(200,200))     photo = img_to_array(photo)     photos.append(photo)     labels.append(output) for file in listdir(folder):   if file.startswith('tiengtatke'):     output = 8     photo = load_img(folder+file,target_size=(200,200))     photo = img_to_array(photo) 14 | P a g e BAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANH BAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANH     photos.append(photo)     labels.append(output) for file in listdir(folder):   if file.startswith('tiengvit'):     output = 9     photo = load_img(folder+file,target_size=(200,200))     photo = img_to_array(photo)     photos.append(photo)     labels.append(output) photos = asarray(photos) labels = asarray(labels) print(photos.shape,labels.shape) save('dongvat_photos.npy', photos) save('dongvat_labels.npy', labels) Bước 4: Xây dựn mơ hình CNN model = Sequential() model.add(Conv2D(32, (3, 3), activation='relu', kernel_initializer='he_u niform', padding='same', input_shape=(200, 200, 3))) model.add(MaxPooling2D((2, 2))) model.add(Conv2D(64, (3, 3), activation='relu', kernel_initializer='he_u niform', padding='same')) model.add(MaxPooling2D((2, 2))) model.add(Conv2D(128, (3, 3), activation='relu', kernel_initializer='he_ uniform', padding='same')) model.add(MaxPooling2D((2, 2))) model.add(Flatten()) model.add(Dense(128, activation='relu')) model.add(Dense(128, activation='relu')) model.add(Dense(128, activation='relu')) model.add(Dense(10, activation='softmax')) model.compile(optimizer='Adam', loss='sparse_categorical_crossentropy',  metrics=['accuracy']) 15 | P a g e BAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANH BAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANH Cấu trúc mơ hình CNN sử dụng đề tài cụ thể sau: -Lớp lớp Convolution2D với liệu đầu vào có kích thước (64x64x3), sử dụng 64 lọc (filter) Lớp có kích thước cửa sổ trượt (Kernel_size) (3,3) bước trượt (2,2) -Tiếp theo lớp Maxpooling2D, kích thước (pool_size) (2,2), lớp có nhiệm vụ giảm kích thước ảnh nhiên giữ nguyên đặc trưng ảnh, từ khơng làm thay đổi đặc tính liệu -Lớp thứ ba lớp Convolution2D với lọc (filter) 32, kích thước cửa sổ trượt (kernel_size) (3,3), kích thước trượt (2,2) -Lớp thứ tư lớp Convolution2D với lọc (filter) 16, kích thước cửa sổ trượt (kernel_size) (3,3), kích thước trượt (2,2) -Lớp thứ năm lớp Convolution2D với lọc (filter) 8, kích thước cửa sổ trượt (kernel_size) (2,2), kích thước trượt (1,1) -Lớp thứ sáu lớp Maxpooling2D với kích thước pool_size (2,2) -Tiếp theo lớp Falten, lớp có nhiệm vụ đưa tất liệu kích thước (1,1,Chiều sâu) hay nói cách khác, liệu qua lớp trải phẳng có dạng chiều Bước 5: Huấn luyện mơ hình history = model.fit(photos, labels, epochs=500, verbose=1) Mơ hình huấn luyện với số lần lọc 500, ta kết sau: Epoch 1/100 Epoch 1/500 7/7 [==============================] - 0s 54ms/step - loss: 0.0177 - accuracy: 0.55 Epoch 2/500 7/7 [==============================] - 0s 46ms/step - loss: 0.0051 - accuracy: 0.64 Epoch 3/500 7/7 [==============================] - 0s 43ms/step - loss: 0.0014 - accuracy: 0.73 Epoch 4/500 7/7 [==============================] - 0s 41ms/step - loss: 4.4533e-04 - accuracy: 0.79 Epoch 5/500 7/7 [==============================] - 0s 47ms/step - loss: 2.0248e-04 - accuracy: 0.82 Epoch 6/500 7/7 [==============================] - 0s 48ms/step - loss: 1.1837e-04 - accuracy: 0.89 16 | P a g e BAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANH BAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANH Epoch 7/500 7/7 [==============================] - 0s 42ms/step - loss: 5.7947e-05 - accuracy: 0.91545 Epoch 8/500 7/7 [==============================] - 0s 42ms/step - loss: 3.4541e-05 - accuracy: 0.91554 Epoch 9/500 7/7 [==============================] - 0s 42ms/step - loss: 2.7375e-05 - accuracy: 0.915550524 ………………………………………………………………………………………………………… Epoch 496/500 7/7 [==============================] - 0s 43ms/step - loss: 2.0862e-08 - accuracy: 0.92154544 Epoch 497/500 7/7 [==============================] - 0s 45ms/step - loss: 2.0266e-08 - accuracy: 0.9216454 Epoch 498/500 7/7 [==============================] - 0s 44ms/step - loss: 2.1458e-08 - accuracy: 0.9215454 Epoch 499/500 7/7 [==============================] - 0s 46ms/step - loss: 2.2650e-08 - accuracy: 0.92145457 Epoch 500/500 7/7 [==============================] - 0s 42ms/step - loss: 2.0862e-08 - accuracy: 0.932454 17 | P a g e BAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANH BAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANH CHƯƠNG 4: KẾT LUÂN 4.1.Kết đạt Mơ hình chuẩn đốn Mơ hình CNN chuẩn đốn bệnh viêm phổi với độ xác 93%, cho kết chuẩn đốn xác, phân biệt âm loài động vật Sử dụng google colab để chạy dự đốn, có số kết sau: Hình 9: Hình chuẩn đốn mèo 18 | P a g e BAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANH BAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANH Hình 10: Hình chuẩn đốn hổ 4.2Nhược điểm Mơ hình tạo với độ xác tương đối cao cịn chuẩn đốn sai số lý bị nhiễu âm Chưa tạo tự động tách file âm thành hình anh test Mơ hình chưa kết hợp với chạy thời gian thực nên tính ứng dụng chưa cao 4.3Hướng phát triển Trong tương lai, em tiếp tục phát triển huấn luyện mơ hình để nâng độ xác lên cao Bên cạnh đó, em phát mơ hình có tính tự động cao có sử dụng Realtime 19 | P a g e BAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANH BAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANH “DANH MỤC HÌNH ẢNH” Hình 1: Ma trận Convolutional……………………………………………………………….3 Hình 2: Hình ảnh trắng đen số hóa…………………………………………………… Hình 3: Hình ảnh Convoled feature……………………………………………………4 Hình 4: Cấu trúc mạng CNN………………………………………………………………….5 Hình 5:Ma trận 28x28…………………………………………………………………………6 Hình 6: Spectrogram (quang phổ)……………………………………………………………9 Hình 7: Ảnh quang phổ chuyển đổi từ file âm thanh………………………………… 12 Hình 8: Số lượng hình ảnh đưa vào training…………………………………………………13 Hình 9: Hình chuẩn đốn mèo………………………………………………………… 18 Hình 10: Hình chuẩn đốn hổ………………………………………………………… 19 1|Page BAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANH BAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANH BAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANHBAO.cao.CUOI.ki.TRI.TUE.NHAN.tao.NHAN.BIET.CON.vat.BANG.am.THANH

Ngày đăng: 20/12/2023, 21:47

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan