1. Trang chủ
  2. » Giáo Dục - Đào Tạo

THUẬT TOÁN MẠNG NƠRON TRUYỀN THẲNG ĐA LỚP CHO PHÂN LOẠI TIẾNG NÓI TRONG ĐIỀU KHIỂN XE LĂN ĐIỆN CHO NGƯỜI TÀN TẬT

5 2 0

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

THÔNG TIN TÀI LIỆU

Nội dung

THUẬT TOÁN MẠNG NƠRON TRUYỀN THẲNG ĐA LỚP CHO PHÂN LOẠI TIẾNG NÓI TRONG ĐIỀU KHIỂN XE LĂN ĐIỆN CHO NGƯỜI TÀN TẬT

ISSN 1859-1531 - TẠP CHÍ KHOA HỌC VÀ CƠNG NGHỆ ĐẠI HỌC ĐÀ NẴNG, SỐ 9(94).2015 23 THUẬT TOÁN MẠNG NƠRON TRUYỀN THẲNG ĐA LỚP CHO PHÂN LOẠI TIẾNG NÓI TRONG ĐIỀU KHIỂN XE LĂN ĐIỆN CHO NGƯỜI TÀN TẬT MLFNN ALGORITHM FOR SPEECH CLASSIFICATION IN ELECTRICAL WHEELCHAIR CONTROL FOR DISABLED PEOPLE Nguyễn Thanh Hải Trường Đại học Sư phạm Kỹ thuật Tp Hồ Chí Minh; nthai@hcmute.edu.vn Tóm tắt - Bài báo đề xuất thuật toán mạng nơron truyền thẳng đa lớp (MLFNN) cho phân loại tiếng nói điều khiển xe lăn điện, trích dẫn đặc trưng tín hiệu thực phương pháp dựa vào hệ số phổ tần số Mel (MFCC) Những tín hiệu tiếng nói lệnh điều khiển nhận biết Left, Right, Forward, Backward Stop Hơn nữa, lọc thông thấp Hamming áp dụng để đặt khung cho mục đích giảm nhiễu trước trích dẫn đặc trưng Vậy, tín hiệu lệnh phân biệt dùng mang nơron sử dụng để điều khiển xe lăn điện di chuyển Kết thực nghiệm 30 lần lệnh tiếng nói xe lăn điện cho xác từ khoảng 85% đến 90% Nghiên cứu hỗ trợ người tàn tật việc di chuyển xe lăn cách dễ dàng thuận tiện sống hàng ngày cho thấy tính hiệu phương pháp đề xuất Abstract - This paper proposes a Multilayer Feedforward Neural Network (MLFNN) algorithm for speech classification in electrical wheelchair control, in which the feature extraction of speech signals is performed using a Mel Frequency Cepstral Coefficients (MFCC) method The speech signals are the control commands recognized such as Left, Right, Forward, Backward and Stop In addition, a Hamming lowpass filter is applied to frame and reduce noise before feature extraction Therefore, the recognized signals will be used to control the electrical wheelchair Experimental results of 30 time experiments on an electrical wheelchair produced the accuray from 85% to 90% This study can support disabled people in moving their wheelchairs easily and more conveniently in everyday life and also shows to the effectiveness of the proposed approach Từ khóa - trích đặc trưng MFCC; phân loại tiếng nói; lệnh tiếng nói; lọc thơng thấp Hamming; mạng truyền thẳng đa lớp Key words - MFCC feature extraction; Speech classification; speech commands; Hamming lowpass filter; Multiplayer Feedforward Neural Networks Giới thiệu Người tàn tật ngày tăng khắp giới họ có khó khăn sống cộng đồng Thiết bị trợ giúp ln ln hữu ích với họ hoạt động hàng ngày Trên giới, số lượng người tàn tật chiếm khoảng 15% dân số Hơn nữa, người khuyết tật cảm thấy bị cô lập không tiếp cận với hội cộng đồng họ Đó lý xe lăn thông minh cần thiết cho họ Để thuận tiện sống đại, xe lăn điện cải thiện ngày xe lăn thông minh cần thiết cho người tàn tật [1] Xe lăn thông minh thiết kế để sử dụng cho mơi trường nhà người dùng dễ dàng điều khiển cách lệnh sử dụng giọng nói [2] Nhận dạng tiếng nói phương pháp tích cực phổ biến, giúp chuyển dịch tiếng nói người sang lệnh cho điều khiển Mơ hình thường sử dụng nhận biết như: mơ hình Markov ẩn (Hidden Markov Model_HMM) [3], lượng tử vector (Vector Quantization), trích đặc trưng dùng MFCC-DTW mạng nơron [4] Nhận dạng sử dụng điều khiển xe lăn điện, nhận biết ký tự [5], đếm số [6] Hơn nữa, mơ hình có cao độ xác, nhiên phức tạp thời gian huấn luyện Trong mơ hình MFFC chuổi xoắn thời gian động (Dynamic Time Warping_DTW) đơn giản [7], không nhiều thời gian huấn luyện, độ xác thấp mơ hình HMM Hệ thống nhận dạng giọng nói sử dụng để phát tiếng nói nhiều tiếng ồn Điểm ban đầu cuối từ phát cho việc nhận dạng từ Khó khăn nhận dạng giọng nói từ nói người nói khác tùy thuộc vào cách nói, giọng điệu, khu vực, giới tính mẫu nói Ngồi ra, nhiễu thay đổi tín hiệu theo thời gian vấn đề xem xét nhận dạng giọng nói Nhận dạng tiếng nói đóng vai trị quan trọng hệ thống xe lăn điện sử dụng microphone Thuật toán MFCC DTW áp dụng cho trích đặc trưng nhận biết tiếng nói [8] Những lệnh tiếng nói Left, Right, Forward, Backward Stop nhận biết cho điều khiển xe lăn điện Những thí nghiệm với lệnh tiếng nói xác định phương pháp đề xuất người sử dụng thực điều khiển xe lăn Trong thực tế, người sử dụng muốn di chuyển xe lăn sử dụng lệnh tiếng nói việc nói vào microphone [9] thơng qua máy tính để điều khiển xe lăn Mạng nơron áp dụng cho xác định tín hiệu dựa vào đặc trưng chúng sử dụng MFCC Trong nghiên cứu này, tác giả sử dụng mạng nơron để nhận biết triếng nói [11-12] Trong báo này, thuật toán nhận dạng dùng mạng nơron ALFNN áp dụng xe lăn điện để phân loại tín hiệu tiếng nói tương ứng với lệnh điều khiển Left, Right, Forward, Backward Stop Kết thí nghiệm xe lăn đưa để minh họa cho tính hiệu phương pháp đề xuất Phương pháp nhận biết tín hiệu tiếng nói Một người sử dụng thực việc điều khiển xe lăn điện sử dụng lệnh tiếng nói như: Left, Right, Forward, Backward Stop cho di chuyển Một tín hiệu tiếng Nguyễn Thanh Hải 24 Tín hiệu tiếng nói Tiền xử lý dùng FFT Trích đặc tính tín hiệu Điều khiển xe lăn điện Phối hợp đặc tính MFCC Tín hiệu tiếng nói nhận biết Hình Sơ đồ khối q trình nhận dạng tiếng nói nói ghi khoảng thời gian 3s người tham gia thực lệnh 30 lần Tất tín hiệu lệnh tiền xử lý tần số lấy mẫu 16KHz trước trích đặc trưng cho việc nhận biết lệnh tiếng Hình Trong tiền xử lý, tín hiệu tiếng nói sử dụng kết Tín hiệu tiếng nói Tăng âm tín hiệu (Pre-emphasis) hợp đặc trưng dựa vào MFCC dị tìm giọng nói Cuối mạng nơron sử dụng cho nhận dạng điều khiển xe lăn 2.1 Trích đặc trưng biến đổi thời gian Hình biểu diễn trích đặc trưng sử dụng MFCC Khung tín hiệu (bộ lọc Hamming) Biến đổi Cosine rời rạc (DCT) Biến đổi sang tần số (FFT) Trích đặc trưng (bộ lọc Mel) Hình Sơ đồ khối q trình trích đặc trưng 2.1.1 Tăng âm tín hiệu Bước xử lý với mục đích chỉnh thành phần tần số cao Cụ thể, tín hiệu tiếng nói xử lý sử dụng lọc để làm tăng lên tín hiệu tần số cao Nó có nghĩa, q trình làm tăng lượng tín hiệu tần số cao Vậy, tín hiệu ngõ tăng âm tính tốn sau: H [n] = u (n) − au (n − 1) Trong đó, N số mẫu khung hình, Y(n) mơ tả tín hiệu đầu H(n) tín hiệu đầu vào Cụ thể, kết hàm Hamming biểu diễn sau:  2 n  W (n) = 0,54 − 0, 46 cos    N −1  (3) (1) Ở đây, H[n] tín hiệu đầu q trình làm tăng, u(n) tín hiệu tiếng, giá trị a=0,95 (độ lợi lớn 20dB cho tần số cao) Kết trình biểu diễn Hình Hình Tín hiệu tiếng nói sau đặt khung dùng lọc Hamming Hình Tín hiệu sau tăng âm 2.1.2 Đặt khung tín hiệu Các tín hiệu sau tăng âm phân đoạn tín hiệu tiếng nói liên tục với thời gian Độ tin cậy giọng nói đảm bảo khoảng thời gian ngắn Khung q trình khơng thể chờ đợi cho mẫu trước đó, mà phân chia gián đoạn tín hiệu đầu cuối khung tín hiệu, chiều dài khung từ 10 đến 30ms Tín hiệu tiếng nói chia thành khung N mẫu Quá trình quan trọng để giữ đặc trưng thời gian ngắn Phân tích thời gian ngắn thực việc phân chia cửa số tín hiệu Hình Cửa sổ Hamming với (W(n), 0≤n ≤ N-1) sử dụng in phương trình sau: Y ( n ) = H ( n )  W ( n) (2) 2.1.3 Dãy lọc Mel Việc nghe âm người khơng nhạy cảm với tất dải tần số Nó thường nhạy cảm với tín hiệu tần số cao khoảng 1kHz cảm nhận tần số giọng nói người phi tuyến tính Phổ Mel tổng phổ tín hiệu sau biến đổi Fourier rời rạc nhân với trọng số lọc Mel Dãy lọc Mel chuổi lọc tam giác với nhiều tần số trung tâm giảm tuyến tính đến khơng [9] Hình Hình Dãy lọc Mel với dãy tần số từ 50 đến 5400 Hz, số dãy lọc 20 ISSN 1859-1531 - TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ ĐẠI HỌC ĐÀ NẴNG, SỐ 9(94).2015 Mỗi đầu lọc tổng thành phần phổ lọc phương trình sử dụng để tính cho thành phần Mel với tần số f: f (mel ) = 2595log10 (1 + f ) 100 (4) 2.1.4 Biến đổi cosine rời rạc Trong bước cuối này, phổ Mel (mel) với tần số lấy logarit trước biến đổi sang thời gian Bởi hệ số phổ Mel số thực, biến đổi chúng sang miền thời gian cách sử dụng DCT Tập hợp hệ số gọi vectơ có chứa giá trị âm học Vậy lời nói vào biến đổi thành chuỗi vectơ râm DCT thực hệ số phổ Mel[10] khung người ta thu MFCC Hai hệ số tập MFCC thu được loại bỏ chúng thay đổi đáng kể phát âm khác từ Hệ số MFCC khung thay lượng log khung Những hệ số Delta tìm thấy từ MFCC để tăng miền vectơ đặc trưng khung tín hiệu cho việc tăng độ xác Năng lượng khung cho tín hiệu cửa sổ lưu trữ mảng Các giá trị náy sử dụng để phát lượng ngưỡng tín hiệu tiếng nói loại bỏ nhiễu biểu diễn Hình 6a 6b Năng lượng biểu diễn phương trình sau: N −1 E =  x ( n) n =0 Hình 6a Năng lượng tín hiệu (5) Hình 6b Năng lượng tín hiệu làm trơn 2.2 Thuật tốn AFLNN Việc nhận biết lệnh tiếng nói, mơ hình nơron truyền thẳng đa lớp (ALFNN) với thuật toán huấn luyện lan truyền ngược áp dụng cho việc huấn luyện Hình Mạng lan truyền ngược làm tối thiểu hàm sai lệch không gian trọng số sử dụng phương pháp làm giảm gradient Bởi phương pháp tính tốn gradient hàm sai lệch liên tục lần lặp hàm sai lệch khơng thể chia [11] Hình Sơ đồ mạng nơron truyền thẳng đa lớp 25 Nói rõ hơn, thuật tốn lan truyền ngược áp dụng để tìm cực tiểu cục hàm sai lệch Vì vậy, gradient hàm sai lệch tính tốn để thay đổi giá trị trọng số ban đầu cho mạng Các trọng số thông số thay đổi để giảm sai lệch Trong nghiên cứu này, số lượng nơron lớp ẩn tính phụ thuộc vào nhiều thông số số lượng nút đầu vào-ra tập mẫu huấn luyện Vậy thì, số nơron lớp ẩn xác định phương trình sau đây: H= Q 5( I + O) (6) đó, I số nút đầu vào, O mơ tả kích thước ngõ Q độ dài tập huấn luyện Kết thực 3.1 Trích đặc trưng cho tín hiệu tiếng nói Sau thực thuật tốn kiến nghị, kết thực nghiệm tín hiệu tiếng nói thu với hiệu suất khả quang Cụ thể, người sử dụng xe lăn nói vào microphone từ Left, Right, Forward, Backward Stop, hệ thống máy tính lưu từ Những từ ngõ vào nhận biết tương ứng với mẫu có điểm phối hợp thấp Thuật tốn ALFNN sử dụng cho tính tốn nhận biết khoảng cách tiếng nói kiểm tra tập liệu từ tiếng nói tham chiếu.Trong xử lý tín hiệu tiếng nói này, tín hiệu xử lý lọc thông thấp với khoảng tần số cắt [80, 1200] Hz Hơn nữa, tín hiệu có tốc độ lấy mẫu 11025Hz [12] tiếng nói ghi khoảng thời gian 3s cho từ Hình 8a tín hiệu đầu vào ban đầu xử lý tăng âm Hình 8b biểu diễn việc lấy khung tín hiệu, khung để phân chia tín hiệu khơng liên tục đầu cuối khung có độ dài từ 10ms đến 30ms Hình 8c tín hiệu lượng làm nhẵn ngưỡng Hình 8d biểu diễn tín hiệu nhận biết dùng mạng nơron.Tất tín hiệu tiếng nói sau đươc tiền xử lý trích đặc trưng đưa vào mang nơron cho phân biệt lệnh tiếng Hình 8a Tín hiệu vào tăng âm Hình 8b Tín hiệu sau đặt khung Hình 8c Tín hiệu lượng Hình 8d Tín hiệu nhận biết 3.2 Nhận dạng tiếng nói dùng mạng nơron Sau trích đặc trưng tiếng nói sử dụng thuật tốn MFCC, người ta thu 13 hệ số đặc trưng, 13 phần tử lượng 13 hệ số delta ngữ âm Tuy nhiên, Nguyễn Thanh Hải 26 hai hệ số đặc trưng bị loại bỏ phát âm khác từ Những vectơ đặc trưng đưa vào ngõ vào mạng nơron cho nhận biết Hình 9a Tín hiệu Trái trước sau nhận biết Hình 9b Tín hiệu Phải trước sau nhận biết Hình 10 Người sử dụng điều khiển xe lăn sử dụng tiếng nói Hình 9c Tín hiệu Lùi trước sau nhận biết Hình 9d Tín hiệu Tới trước sau nhận biết Bảng Mức độ xác lệnh tín hiệu với số nơron lớp ẩn khác Từ tiếng nói Left Right Backward Forward Hình 9e Tín hiệu Dừng trước sau nhận biết Loại mạng nơron sử dụng nghiên cứu thuật toán truyền thẳng (feedforward) đa lớp huấn luyện dùng lan truyền ngược (backpropagation), bao gồm lớp đầu vào, lớp ẩn lớp ngõ Số lượng nơron đầu vào thiết lập với 35 giá trị vectơ đặc trưng số nơron đầu tương ứng với lệnh tiếng nói Left, Right, Forward, Backward Stop Trong thí nghiệm này, có đầu ra, 5000 mẫu huấn luyện cho từ tiếng nói Vậy thì, số lượng nơron ẩn lớp tối đa 25 nơron hàm tuyến tính Hơn nữa, hiệu suất mạng phụ thuộc vào chất lượng tín hiệu liên quan đến tiền xử lý trích đặc trưng Kết nhận dạng từ sử dụng ALFNN thể Hình 9a đến 9e Những từ tiếng nói nhận biết sử dụng thuật toán ALFNN cho điều khiển xe lăn điện Độ xác phân loại từ tiếng nói thực 30 lần cho điều khiển xe lăn với hiệu suất Bảng 3.3 Điều khiển xe lăn điện Tín hiệu ngõ nhận dạng truyền đến xe lăn điện cho điều khiển qua chuyển đổi Số-Tương tự USB6008 đến động xe lăn điện để điều khiển chuyển động xe với lệnh Left, Right, Forward, Backward Stop Mơ hình xe lăn điện biểu diễn Hình 10 dùng lệnh tiếng nói để di chuyển xe Stop Nơron lớp ẩn Chính xác (%) 10 86,25 15 98,75 10 88,25 15 94,50 10 82,00 15 95,50 10 89,00 15 95,25 10 88,25 15 94,50 Kết nhận dạng dùng mạng nơron ALFNN tương ứng với thay đổi lớp ẩn với nơron 10 15, ta có kết xác định xác khác nhau.Với 10 nơron lớp ẩn, kết nhận dạnh thấp so với mạng lớp ẩn có 15 nơron, thời gian huấn luyện nhanh Với thuật tốn ALFNN này, độ xác điều khiển xe lăn thể Bảng1 Nghiên cứu đưa so sánh nhỏ hai thuật toán nhận dạng ALFNN mơ hình Marko vốn thực để nhận dạng từ tiếng nói nghiên cứu trước [14] Trong đó, phương pháp logic mờ sử dụng việc nhận biết tiếng Việt với đơn âm dựa vào hình dạng phổ âm [15] Trong việc điều khiển xe lăn điện dùng tiếng nói [16], tác giả thiết kế điều khiển dùng card DSP cho việc lọc nhiễu vi điều khiển cho điều khiển với 10 lệnh [17] Tuy nhiên hệ thống phức tạp Trong nghiên cứu này, phương pháp mạng nơron truyền thẳng MLFNN với 13 hệ số đặc trưng dùng MFCC, 13 hệ số lượng 13 hệ số delta âm ngữ sử dụng Trong cụ thể, phép biến đổi Fourier nhanh (FFT) với 256 điểm sử dụng để tìm phổ lượng tín hiệu sử dụng lọc Melvới 24 dãy Cuối cùng, độ xác khoảng 89% so sánh với 82% dùng mơ hình Markov mơi trường thơng thống Nghiên ISSN 1859-1531 - TẠP CHÍ KHOA HỌC VÀ CÔNG NGHỆ ĐẠI HỌC ĐÀ NẴNG, SỐ 9(94).2015 cứu cho điều khiển xe lăn điện với phương pháp trích đặc trưng MFCC với hệ số rõ ràng với lọc Mel cho lệnh điều khiển Hơn nữa, mạng nơron ẩn chọn nghiên cứu 15 cho hiệu suất ổn định với độ xác khoảng 90% Kết luận Trong báo này, tín hiệu tiếng nói lọc lọc thơng thấp Hamming đặc trưng trích cho việc phân loại từ tiếng nói sử dụng hệ số Mel phương pháp MFCC Từ hệ số MFCC, mơ hình mạng nơron truyền thẳng MLFNN sử dụng để phân loại tín hiệu tiếng nói Từ lệnh tiếng nói như: Left, Right, Forward, Backward Stop người khuyết tật sử dụng để điều khiển xe lăn điện di chuyển môi trường nhà Những kết thực nghiệm thu cho thấy tính hiệu với thuật tốn kiến nghị ALFNN với trích đặc trưng dùng MFCC TÀI LIỆU THAM KHẢO [1] Gunda Gautam, Gunda Sumanth, Karthikeyan K C, Shyam Sundar, D.Venkataraman “Eye Movement Based Electronic Wheel Chair For Physically Challenged Persons” International Journal of Scientific & Technology Research Vol 3, No 2, 2014 [2] Mohamed Fezari and Ibrahiem M El-Emary “Speech and Sensors in Improving the Guidance of an Electric Wheelchair by Handicapped Persons” Proceedings of the 2014 International Conference on Circuits, Systems and Control, 2014 [3] Bhupinder Singh, Neha Kapur, Puneet Kaur, “Speech Recognition with Hidden Markov Model: A Review”, International Journal of Advanced in Computer Science and Soft Engineering, Vol 2, pp 400-403, 2012 [4] Nguyen Tu ha, Pham Van Tuan, “Design of Television Remote Control by Vietnamese Speech”, Tạp chí Khoa học Cơng nghệ, Đại học Đà Nẵng, 2014 [5] Dipmoy Gupta, Radha Mounima C Navya Manjunath, Manoj PB, “Isolated Word Speech Recognition Using Vector Quantization”, International Journal of Advanced in Computer Science and Soft [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] 27 Engineering, Vol 2, pp 164-168, 2012 Talal Bin Amin, Iftekhar Mahmood, “Speech Recognition Using Dynamic Time Warping”, ICAST, 2008 A.Revathi, R.Ganapathy and Y.Venkataramani, “Text Independent Speaker Recognition and Speaker Independent Speech Recognition Using Iterative Clustering Approach”, International Journal of Computer science & Information Technology, Vol 1, No 2, pp 30-42, 2009 Lindasalwa Muda, Mumtaj Begam and I Elamvazuthi, “Voice Recognition Algorithms using Mel Frequency Cepstral Coefficient (MFCC) and Dynamic Time Warping (DTW) Techniques”, Journal Of Computing, Vol 2, Issue 3, pp 138-143, 2010 Kohei Arai, Ronny Mardiyanto, Eyes Based Eletric Wheel Chair Control System, International Journal of Advanced Computer Science and Applications, 2011 S M Azam, Z.A Mansoor, M Shahzad Mughal, S Mohsin, “Urdu Spoken Digits Recognition Using Classified MFCC and Backpropgation Neural Network”, Computer Graphics, Imaging and Visualisation IEEE, Vol.1, pp 7695-2928, 2007 Chin Luh Tan and Adznan Jantan, “Digit Recognition Using Neural Networks”, Malaysian Journal of Computer Science, Vol 17, No 2, pp 40-54, 2004 R Rojas, Neural Networks Berlin: Springer-Verlag, 1996 Fu-Hua Liu; Richard M Stern; Xuedong Huang; Alejandro Acero, “Efficient cepstral normalization for robust speech recognition, human language technology”, Proceedings of a Workshop Held at Plainsboro, pp 21-24, 1993 Z Hachkar et al., “A Comparison of DHMM and DTW for Isolated Digits Recognition System of Arabic Language”, International J on Computer Science and Enginerring, 2011 Tran Duc Minh, Nguyen Thien Luan, “Using Fuzzy Logic in Vietnamese Speech Recognition”, Tạp chí Khoa học Cơng nghệ, Đại học Đà Nẵng, 2014 Anoop.K.J, Inbaezhilan, Sathish raj, Ramaseenivasan, CholaPandian, “Designing and Modeling of Voice Controlled Wheel Chair Incorporated with Home Automation” International Journal of Advanced Research in Electrical, Electronics and Instrumentation Engineering, Vol 17, No 2, pp 53-59, 2014 Mohamed Fezari and Ibrahiem M El-Emary, “Speech and Sensors in Improving the Guidance of an Electric Wheelchair by Handicapped Persons”, Proceedings of the International Conference on Circuits, Systems and Control, 2014 (BBT nhận bài: 10/03/2015, phản biện xong: 25/08/2015) ... điều khiển xe lăn điện Độ xác phân loại từ tiếng nói thực 30 lần cho điều khiển xe lăn với hiệu suất Bảng 3.3 Điều khiển xe lăn điện Tín hiệu ngõ nhận dạng truyền đến xe lăn điện cho điều khiển. .. biết tiếng Việt với đơn âm dựa vào hình dạng phổ âm [15] Trong việc điều khiển xe lăn điện dùng tiếng nói [16], tác giả thiết kế điều khiển dùng card DSP cho việc lọc nhiễu vi điều khiển cho điều. .. trơn 2.2 Thuật tốn AFLNN Việc nhận biết lệnh tiếng nói, mơ hình nơron truyền thẳng đa lớp (ALFNN) với thuật toán huấn luyện lan truyền ngược áp dụng cho việc huấn luyện Hình Mạng lan truyền ngược

Ngày đăng: 16/11/2022, 20:38

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w