Nội dung chính của đồ án: Chương1.Tổng quan đề tài Trình bày đặt vấn đề dẫn nhập lý do chọn đề tài, mục tiêu, nôi dung ̣nghiên cứu Chương 2: Xây dựng hệ thống Trình bày các lý thuyết có
XÂY DỰNG HỆ THỐNG
Giới thiệu chương
Chương Ⅰ đã đưa ra sơ khối tổng quan của hệ thống, các yêu cầu cũng như là các tính năng của hệ thống Để giải quyết những yêu cầu đó và xây dựng được một hệ thống có các tính năng như vậy thì chương này sẽ tiến hành chọn lựa linh kiện cho từng khối cũng như là xây dựng nên một sơ đồ khối cụ thể cho toàn bộ hệ thống.
Khối cảm biến
Trên thị trường hiện nay có rất nhiều loại microphone như AGC MAX9814, ADMP401, SPH0645, MAX 9812L, với chất lượng và giá thành sản phẩm khác nhau. Với tiêu chí là giá thành rẻ cũng như là độ chính xác tương đối, với cái giá thành đó thì nhóm đã chọn AGC Microphone MAX9841 cho hệ thống của mình Đây là một analog microphone có kích thước nhỏ gọn
Điện áp cung cấp: 2.7~5.5VDC\
Tần số đáp ứng: 20Hz ~ 20KHz
TIEU LUAN MOI download : skknchat123@gmail.com
Led thông báo trạng thái
Đèn led là đèn công nghệ sử dụng công nghệ LED là từ viết tắt của Light Emitting Diode Led cấu tạo từ một khối bán dẫn loại P ghép với một khối bán dẫn loại N Nguyên lý hoạt động của LED dựa trên công nghệ bán dẫn Khối bán dẫn P khi ghép với bán dẫn N thì các lỗ trống này có xu hướng chuyển động khuếch tán sáng khối N Cùng lúc khối P lại nhận được thêm các điện tử âm từ N chuyển sang Ở biên giới 2 bên mặt tiếp giáp một số điện tử bị lỗ trống thu hút Và khi chúng lại gần nhau có xu hướng kết hợp với nhau tạo thành nguyên tử trung hòa Quá trình này giải phóng năng lượng dưới dạng ánh sáng.
Thông số kỹ thuật: Điện áp led: 3V - 3.2V
IV của led siêu sáng 5mm: 12000 - 14000 mcd
Kích thước bóng: đường kính 5mm
Chiều dài chân: 28 mm - 29 mm
TIEU LUAN MOI download : skknchat123@gmail.com
Tổng kết chương
KHOA ĐIỆN- ĐIỆN TỬ Độc lập - Tự do - Hạnh phúc
NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
Giảng viên hướng dẫn: T.S Nguyễn Thị Khánh Hồng
Sinh viên thực hiện: Nguyễn Quang Tuấn Mã SV: 1811505410243
Nguyễn Quang Vinh Mã SV: 1811505410244
1 Tên đề tài: THIẾT KẾ MÔ HÌNH TRỢ LÝ GIỌNG NÓI ỨNG DỤNG EDGE AI ĐIỀU KHIỂN THIẾT BỊ ĐIỆN TRONG GIA ĐÌNH
2 Các số liệu, tài liệu ban đầu:
Chíp vi điều khiển: STM32Fxx
Datasheet STM32F746: https://html.alldatasheet.com/html- pdf/795865/STMICROELECTRONICS/STM32F746BE/144590/74/ STM32F746BE.html
Các phương pháp đánh giá 1 mô hình phân loại: https://tapit.vn/cac-phuong-phap-danh-gia- mot-mo-hinh-phan-loai/? fbclid=IwAR2FVgwGdMbbclCfPBLa_o27A0Ss7ME4x7y2uUfBQtKPeH6qkQIS8s k6318
3 Nội dung chính của đồ án:
Chương1.Tổng quan đề tài
Trình bày đặt vấn đề dẫn nhập lý do chọn đề tài, mục tiêu, nôi dung ̣nghiên cứu
Chương 2: Xây dựng hệ thống
Trình bày các lý thuyết có liên quan đến các vấn đề mà đề tài sẽ dùng để thực hiện thiết kế, thi công cho đề tài.
THIẾT LẬP MÔ HÌNH NHẬN DẠNG ÂM THANH
Công cụ xây dựng mô hình
Cùng với sự phát triển mạnh mẽ của trí tuệ nhân tạo, machine learning và deep learning cũng đang trên dà phát triển một cách vượt bậc ràng Hiện tại có nhiều thư viện mã nguồn mở được sử dụng trong Deep Learning như Pytorch, Tensorflow, Caffe, Keras,
…Và ở thời điểm hiện tại, TensorFlow chính là thư viện mã nguồn mở cho machine learning nổi tiếng nhất thế giới, được phát triển bởi các nhà nghiên cứu từ Google Việc hỗ trợ mạnh mẽ các phép toán học để tính toán trong machine learning và deep learning đã giúp việc tiếp cận các bài toán trở nên đơn giản, nhanh chóng và tiện lợi hơn nhiều.
Các hàm được dựng sẵn trong thư viện cho từng bài toán cho phép TensorFlow xây dựng được nhiều neural network Nó còn cho phép bạn tính toán song song trên nhiều máy tính khác nhau, thậm chí trên nhiều CPU, GPU trong cùng một máy hay tạo ra các đồ thị luồng dữ liệu để dựng nên các mô hình.
Hoạt động của TensorFlow được chia thành 3 phần:
Tiền xử lý dữ liệu
Huấn luyện và đánh giá mô hình
TIEU LUAN MOI download : skknchat123@gmail.com
TensorFlow cho phép các lập trình viên tạo ra dataflow graph, cấu trúc mô tả làm thế nào dữ liệu có thể di chuyển qua một graph, hay một series các node đang xử lý Mỗi node trong đồ thị đại diện một phép toán học, và mỗi kết nối giữa các node là một mảng dữ liệu đa chiều, hay còn được gọi là tensor Các thư viện biến đổi có sẵn thông qua TensorFlow được viết bằng các binary C++ nên có tốc độ xử lý cao Ngôn ngữ Python cung cấp các high-level abstraction để cho phép thực hiện hiệu chỉnh.
Lợi ích đầu tiên mà cũng dễ thấy nhưng quan trọng nhất mà TensorFlow cung cấp cho việc lập trình machine learning chính là tính chất trừu tượng Thay vì phải đối phó với những tình huống rườm rà từ việc thực hiện triển khai các thuật toán TensorFlow sẽ làm phần còn lại thay cho chúng ta Lợi ích thứ 2 là tốc độ xử lý cao do phân lớn được viết bằng ngôn ngữ C++.
Keras thực sự là một high-level APIs cho việc xây dựng và huấn luyện các mô hình học sâu Keras giúp đưa ra các mô hình mẫu một cách nhanh chóng, giúp đưa ra các sản phẩm hoặc nghiên cứu với các thuật toán hiện đại Với TensorFlow 2.0, Keras đã được tích hợp một cách chặt chẽ hơn với nền tàng TensorFlow của Google Keras cung cấp các API một cách hợp lý và đơn giản, tối thiểu các thao tác cho người dùng, nó còn cùng cấp các phản hồi một cách rõ ràng đối với các lỗi người dùng Sử dụng dễ dàng tuy nhiên không làm tăng độ phức tạp cũng như giảm độ linh hoạt khi sử dụng bởi vì Keras được kết hợp với các hàm low-level của TensorFlow Tùy chỉnh chức năng của các hàm một cách linh hoạt.
Hình 3.3 High-level APIs của TensorFlow
TIEU LUAN MOI download : skknchat123@gmail.com
Các lợi ích của Keras:
Thân thiện với người dùng.
Được chia thành các mô-đun và có thể kết hợp.
Dành cho cả người mới bắt đầu cũng như các chuyên gia.
Thực hiện tốt trên cả CPU, GPU.
Có thể tính toán cùng lúc trên nhiều thiết bị.
Thực hiện được trên đa nền tàng như trình duyệt, thiết bị di động, thiết bị nhúng,
Keras là một hệ sinh thái rộng lớn với mối liên hệ với nhiều nền tảng khác nhau.
Xây dựng mô hình
Ở mục (1) và (2) chúng ta đã tìm hiểu về cơ sở lý thuyết của mạng nơ-ron tích chập. Ở trong phần này chúng ta sẽ nghiên cứu cụ thể các bước để xây dựng một hệ thống nhận dạng âm thanh sử dụng mạng nơ-ron tích chập.
Các bước tạo ra một mô hình nhận dạng âm thanh mà nhóm đã thực hiện:
Thu thập và xây dựng cơ sở dữ liệu.
Trích xuất đặc trưng Log-Mel Spectrogram.
Xây dựng mô hình mạng nơ-ron tích chập.
Huấn luyện mô hình, kiểm thử và hiệu chỉnh mô hình.
Đánh giá kết quả mô hình.
Hình 3.4 Các bước thực hiện nhận dạng âm thanh
TIEU LUAN MOI download : skknchat123@gmail.com
Dữ liệu được chuẩn bị cho hệ thống này sẽ là các file âm thanh có đuôi “.wav” với kích thước lớn hơn 1s cho mỗi file âm thanh được nhóm trực tiếp thu thập từ bạn bè và người thân.
Tính chất của tập dữ liệu:
Tập dữ liệu bao gồm 8 từ khóa điều khiển “bật/tắt” các thiết bị: “đèn”, “tivi”, “máy chiếu”, “điều hòa”, một từ khóa đánh thức thiết bị “Trợ lý” và một dữ liệu có tên là
“background noise” bao gồm tất cả âm thanh của môi trường, âm thanh tiếng ồn, nhiễu,…
Tỉ lệ Nam nữ: 70% Nam, 30% Nữ
Số lượng: ~200 file âm thanh (.wav) / từ khóa
Dữ liệu sau khi thu thập sẽ được cắt thành những file có kích thước lớn hơn 1.056s sao cho toàn bộ dữ liệu âm thanh điều khiển nằm hoàn toàn trong file âm thanh đó Tiếp tục tiến hành gán nhãn đúng với loại âm thanh của nó và lưu vào cấu trúc file “.csv” để tạo thành một dataframe để phục vụ quá trình trích xuất đặc trưng Log-Melspectrogram ở bước tiếp theo.
Sau khi gán nhãn, dữ liệu bao gồm 10 class âm thanh như sau:
TIEU LUAN MOI download : skknchat123@gmail.com
Hình 3.5 Các âm thanh trong tập dữ liệu
Cuối cùng tập dữ liệu sẽ được chia ngẫu nhiên thành 3 phần khác nhau để phục vụ cho việc huấn luyện (train), kiểm thử (valid), và kiểm tra (test) mô hình:
3.3.2 Trích xuất đặc trưng Log-Mel Spectrogram
Log-Mel Spectrogram [7] là một trong số các phương pháp dùng để trích đặc trưng của âm thanh Ở đây nhóm chọn phương pháp này với mục đích giảm thiểu tối đa thời gian xử lý của vi điều khiển, giúp tăng khả năng đáp ứng của hệ thống.
Hình 3.6 Quá trình trích đặc trưng Log-Mel Spectrogram
TIEU LUAN MOI download : skknchat123@gmail.com
Quá trình trích đặc trưng thực hiện với 2 bước chính :
Biến đổi STFT (Short-time Fourier Transform)
Chuyển phổ của STFT qua Mel scale
Biến đổi STFT: Chia tín hiệu âm thanh thành các đoạn nhỏ bằng nhau, từ đó tiến hành biến đổi Fourier cho từng đoạn đó [8]
W là loại cửa sổ được lựa chọn (hann, rectange, hamming, ….)
Hình 3.7 Quá trình biến đổi STFT
TIEU LUAN MOI download : skknchat123@gmail.com
Chuyển phổ của STFT qua Mel scale:
Ta có công thức chuyển đổi từ Hz scale qua Mel Scale và ngược lại:
Hình 3.8 Chuyển phổ của STFT qua Mel scale
Chuyển phổ sau khi biến đổi STFT qua DB
Chọn giá trị tần số nhỏ nhất ( 0Hz ) và tần số cao nhất (8000 Hz) và chuyển sang tần số Mel với công thức như trên
Chọn số lượng Mel Bands (n_mel0) cách đều nhau nằm trong khoảng giữa tần số Mel thấp nhất và tần số Mel cao nhất
Xây dựng các bộ lọc tam giác
Hình 3.9 Các bộ lọc tam giác
TIEU LUAN MOI download : skknchat123@gmail.com Áp dụng bộ lọc Mel vào phổ sau khi thực hiện STFT
M: Ma trận bộ lọc tam giác
Y: Phổ sau khi thực hiện STFT
Hình 3.10 Kết quả sau khi trích xuất đặc trưng Log Mel Spectrogram
Do vi điều khiển STM32 giới hạn về tài nguyên, yêu cầu vector đầu vào của mô hình phải có kích thức nhỏ hơn 1024 phần tử Vì vậy các thông số của quá trình trích xuất đặc trưng được nhóm lựa chọn là: n_mel = 30, n_frames = 32 sẽ thu được một tín hiệu phổ có kích thước (30,32) Tín hiệu phổ này cũng chính là vector đầu vào của mạng nơ-ron tích chập và có kích thước bằng 30x320 < 1024 thõa mãn điều kiện mà hãng đặt ra.
TIEU LUAN MOI download : skknchat123@gmail.com
Sau nhiều lần thử nghiệm với nhiều cấu trúc mô hình khác nhau nhóm đã có được cấu trúc mô hình
Hình 3.11 Cấu trúc mô hình
Cấu trúc mô hình gồm những lớp sau đây: Đầu vào của mô hình là tín hiệu phổ được trích bởi Log-Mel Spectrogram.
Tiếp sau đó là 2 lớp tích chập (convolution layer) với 16 bộ lọc (filter) và kích thước bộ lọc kernel_size = (3, 3).
Tiếp tục có 1 lớp Max-Pooling với kernel_size = (2, 2) để giảm kích thước của các lớp đi một nửa và chỉ giữa lại những trọng số cao nhất.
Sau đó tiếp tục là 2 lớp tích chập với số bộ lọc là 32.
Tiếp tục sẽ là 1 lớp Global Max-Pooling để giữ lại những trọng số cao nhất của mỗi lớp.
Cuối cùng sẽ là lớp đầu ra với hàm kích hoạt (activation function) Softmax cho ta xác suất nhận dạng đối với mỗi loại âm thanh.
TIEU LUAN MOI download : skknchat123@gmail.com
Hình 3.12 Cấu trúc mô hình một cách tổng quát
Trong quá trình huấn luyện mô hình, nhóm đã sử dụng Keras Checkpoint để lưu lại mô hình tốt nhất quá trình huấn luyện Đây chính là mô hình có hàm loss thấp nhất trong quá trình huấn luyện Bên cạnh đó, để tránh trường hợp mô hình rơi vào hiện tượng overfitting nhóm còn sử dụng một số kỹ thuật regularizer được liệt kê như sau:
Mô hình sẽ sử dụng thuật toán tối ưu Adam [12] để tối ưu độ chính xác của mô hình và giảm tối thiểu loss của mô hình.
TIEU LUAN MOI download : skknchat123@gmail.com
3.3.4 Kết quả của mô hình
Sau khi huấn luyện mô hình với epochs = 500 ta có kết quả loss, accuracy của mô hình như hình:
Hình 3.13.1 Loss của mô hình
Hình 3.14 Accuracy của mô hình
TIEU LUAN MOI download : skknchat123@gmail.com
Mô hình sau khi huấn luyện có độ chính xác cao và tăng dần theo từng epochs, loss của mô hình thấp và giảm dần theo từng epochs.
Kết quả của cuối cùng của mô hình sẽ là cấu trúc của mô hình, các trọng số và bias của mô hình Mô hình cuối cùng sẽ được lưu dưới dạng file ".h5"và đây là mô hình có loss thấp nhất trong quá trình huấn luyện vì nhóm đã sử dụng Keras Checkpoint.
Hình 3.15 Confusion matrix của tập test
TIEU LUAN MOI download : skknchat123@gmail.com
Từ Confusion matrix của tập test ta lập được bảng tính precision và recall như bảng sau:
Bảng 1 Bảng tính precision, recall và F1-score trên từng class của tập test
Kết luận chương
Qua chương Ⅲ, chúng ta đã tìm hiểu tổng quan về mạng nơ-ron tích chập (convolutional neural network) bao gồm các lớp như Convolution Layers, Pooling Layers,
Global Max-Pooling Layers, Fully-Connected Layers,
Tìm hiểu tổng quan về các công cụ để xây dựng một mô hình trí tuệ nhận tạo như TensorFlow, Keras Tìm hiểu cách xây dựng một mô hình trí tuệ nhân tạo phục vụ cho việc nhận dạng âm thanh với chi tiết từng bước như sau:
Thu thập và xây dựng cơ sở dữ liệu
Trích xuất đặc trưng Log-Mel Spectrogram
Xây dựng mô hình mạng nơ-ron tích chập
Huấn luyện mô hình, kiểm thử và hiệu chỉnh mô hình
Đánh giá kết quả mô hình
Qua nhiều lần thử nghiệm và hiệu chỉnh mô hình, nhóm đã có được một mô hình nhận dạng với tỉ lệ nhận dạng chính xác cao Đạt kết quả 96% đáp ứng yêu cầu đặt ra ban đầu.
TIEU LUAN MOI download : skknchat123@gmail.com
TRIỂN KHAI MÔ HÌNH NHẬN DẠNG LÊN THIẾT BỊ NHÚNG STM32
Giới thiệu chương
Chương này sẽ trình bày về cách thực thi một mô hình AI trên thiết bị vi điều khiển phục vụ cho việc nhận dạng các từ khóa điều khiển và công cụ STM32 Cube.AI để chuyển đổi mô hình đã huấn luyện được từ máy tính xuống thiết bị vi điều khiển Quy trình sẽ bắt đầu từ việc lấy dữ liệu từ Microphone rồi đến bước trích đặc trưng trên vi điều khiển STM32 và cuối cùng là thực thi nhận dạng âm thanh bằng mô hình trên vi điều khiển.
Ngoài ra để đồng bộ với cấu trúc có sẵn, điều khiển hồng ngoại sẽ được nhóm sử dụng như một phương thức điều khiển không dây giữa hệ thống của mình với các thiết bị có hỗ trợ điều khiển hồng ngoại Phương thức này sẽ bao gồm 2 phần đó là: Giải mã hồng ngoại và phần điều khiển hồng ngoại.
Nhận dạng âm thanh bằng mô hình AI trên Vi điều khiển STM32
4.2.1 Nhúng mô hình xuống vi điều khiển
Sau khi đã huấn luyện mô hình thành công, nhóm tiến hành triển khai mô hình lên vi điều khiển STM32 Thường thì một mô hình AI sẽ được chạy trên sever hay là một hệ thống máy tính với tài nguyên bộ nhớ lớn cũng như tốc độ xử lý cao Tuy nhiên ở đây, công nghệ mà nhóm thực hiện đó là Edge AI cho phép chúng ta có thể triển khai và thực thi mô hình AI trên chính thiết bị vi điều khiển Tuy nhiên, do tính chất của một mô hình
AI yêu cầu khá lớn về tài nguyên và tốc độ xử lý, vì vậy việc triển khai nó lên trên thiết bị vi điều khiển là cực kì khó khăn so với khi triển khai trên máy tính.
TIEU LUAN MOI download : skknchat123@gmail.com
Tuy nhiên hãng STMicroelectronics (ST) đã đưa ra một công cụ đó là STM32 Cube.AI, công cụ này cho phép chúng ta có thể triển khai mô hình AI đã huấn luyện thành công xuống vi điều khiển STM32 một cách dễ dàng [13].
Hình 4.1 Công cụ STM32 Cube.AI
Sau khi sử dụng công cụ này thì nhóm đã triển khai thành công mô hình nhận dạng từ khóa điều khiển của mình lên vi điều khiển STM32F746 mà nhóm lựa chọn Sau khi mô hình được phân tích bằng công cụ STM32 Cube.AI thì tài nguyên phần cứng mà mô hình chiếm dụng trên vi điều khiển là:
Thư viện AI được công cụ STM32 Cube.AI sinh ra:
Hình 4.2 Thư viện AI dưới vi điều khiển STM32
TIEU LUAN MOI download : skknchat123@gmail.com
Với vi điều khiển STM32F746NG mà nhóm lựa chọn thì tài nguyên phần cứng của nó là:
Tần số hoạt động tối đa là 216MHz.
Với các thông số này thì vi điều khiển mà nhóm lựa chọn có thể đáp ứng được các tiêu chí để triển khai mô hình AI mà nhóm đã xây dựng.
Cấu trúc mô hình sau khi được phân tích bởi công cụ STM32 Cube.AI thông qua lệnh Analyze và Show Graph [14]:
Hình 4.3 Cấu trúc của mô hình được phân tích bằng công cụ STM32 Cube.AI
TIEU LUAN MOI download : skknchat123@gmail.com Đồng thời công cụ này còn chỉ ra được độ phức tạp của các phép tính toán thông qua thông số MACC= 3.376.694 Đối với vi điều khiển sử dụng trong hệ thống là STM32F746 lõi ARM Cortex M7 thì số cycles trên 1 MACC xấp xỉ là n=6 cycles/1MACC Với độ phức tạp này cũng như là tần số hoạt động của vi điều khiển được cấu hình ở = 200MHz thì thời gian kể từ đầu vào cho đến lúc nhận được đầu ra của mô hình là:
Với n là số cycles trên 1 MACC.
là tần số hoạt động của vi điều khiển. Đây là một thời gian rất nhanh nên có thể xem hệ thống hoạt động real time, khi có tín hiệu đầu vào thì sẽ cho ra được kết quả ngay lập tức.
Hình 4.4 STM32 Cube.AI sau khi phân tích mô hình thành công
TIEU LUAN MOI download : skknchat123@gmail.com
4.2.2 Cơ sở dữ liệu âm thanh thực tế
Sau khi nhúng mô hình lên vi điều khiển thành công, nhóm sẽ tiến hành thu thập dữ liệu âm thanh thực tế từ môi trường để tiến hành trong quá trình nhận dạng cục bộ Âm thanh sẽ được thu thập thông qua Mem Microphone MAX9841 mà nhóm đã lựa chọn. Quá trình lấy âm thanh này bao gồm 2 bước:
Cấu hình ngoại vi ADC của vi điều khiển STM32 để giao tiếp giữa vi điều khiển STM32 với Microphone để thực hiện việc lấy mẫu âm thanh với tần số lấy mẫu fs = 16KHz [15]. Cấu hình ADC ở chế độ DMA để thu dữ liệu một cách liên tục [16]. Độ phân giải 12 bit là số bit cần thiết để chứa hết các mức giá trị số (digital) sau quá trình chuyển đổi ở ngõ ra (ngõ ra sẽ có 4096 giá trị khác nhau), 12 bit là độ phân giải lớn nhất của MCU STM32F746 để đáp ứng tốt nhất cho việc lấy mẫu Sử dụng chế độ chuyển đổi liên tục để thực hiện việc chuyển đổi một kênh liên tục.
Hình 4.5 Cấu hình ADC trên vi điều khiển STM32 Để thực hiện việc lấy dữ liệu âm thanh từ Microphone thì ta phải cấu hình xung clock của vi điều khiển sao cho tần số lấy mẫu âm thanh này phải lớn hơn hoặc bằng tần số lấy mẫu mà ta thực hiện ở trên máy tính.
TIEU LUAN MOI download : skknchat123@gmail.com
Hình 4.6 Cấu hình xung clock trên Vi điều khiển STM32F746 Để hệ thống luôn có dữ liệu mới thì ADC lấy dữ liệu liên tục và dùng DMA để chuyển dữ liệu từ ngoại vi ADC liên tục vào bộ nhớ Việc sử dụng DMA giúp chuyển dữ liệu từ ngoại vi đến bộ nhớ mà không cần đến sự thực thi của CPU làm cho CPU hoàn toàn độc lập với ngoại vi được hỗ trợ DMA mà vẫn đảm bảo ngoại vi thực hiện công việc được giao đồng thời CPU có thể thực hiện các công việc khác.
DMA hoạt động ở hai chế độ Normal và Circular, đối với chế độ Normal thì DMA sẽ bắt đầu truyền và khi nó truyền hết tất cả thì dừng lại Đối với chế độ Circular thì DMA bắt đầu truyền dữ liệu và khi nó truyền hết tất cả thì dừng lại, dữ liệu được nhận tiếp theo sẽ được lưu tiếp vào dữ liệu trước đó cho đến khi bộ đệm nhận dữ liệu đầy thì quay lại từ đầu Ở đây để phù hợp thì nhóm sẽ cấu hình DMA hoạt động ở chế độ Circular.
Hình 4.7 Cấu hình DMA trên vi điều khiển STM32
TIEU LUAN MOI download : skknchat123@gmail.com
4.2.3 Trích đặc trưng Log-Mel Spectrogram trên vi điều khiển
Sau khi đã tiến hành thu thập dữ liệu từ microphone xong thì ta tiến hành trích xuất đặc trưng Log MelSpectrogram cục bộ dưới vi điều khiển để làm đầu vào cho mô hình nhận dạng Điều đặc biệt ở đây là ở trên máy tính, đặc trưng Log MelSpectrogram này được trích xuất bằng ngôn ngữ Python thì dưới vi điều khiển, nó hoàn toàn được thực hiện bằng ngôn ngữ C Có một thư viện sẽ hỗ trợ cho việc trích đặc trưng này dưới vi điều khiển đó chính là thư viện CMSIS.
Hình 4.8 Trích đặc trưng Log MelSpectrogram bằng thư viện CMSIS
Sau khi trích xuất đặc trưng Log MelSpectrogram bằng thư viện CMSIS xong ta cũng thu được một vector đặc trưng có kích thước 30x320 giá trị tương đồng với đặc trưng ta trích xuất được ở máy tính.
4.2.4 Thực thi mô hình trên vi điều khiển để nhận dạng âm thanh
Sau khi lấy được tín hiệu âm thanh thực tế từ môi trường thông qua microphone, cũng như là trích được đặc trưng của tín hiệu âm thanh đó thì bước tiếp theo sẽ là thực hiện việc nhận dạng âm thanh bằng mô hình đã được nhúng trên vi điều khiển với đầu vào là vector đặc trưng đã
Kết luận chương
Trong chương Ⅳ nhóm đã trình bày cách triển khai một mô hình trí tuệ nhân tạo lên trên thiết bị nhúng STM32 bằng công cụ STM32 Cube AI, cách hệ thống lấy dữ liệu âm thanh thực tế thông qua ngoại vi ADC ở chế độ Circular rồi tiến hành trích đặc trưng Log-Mel Spectrogram bằng thư viện CMSIS.
Trên đây là tất cả những gì mà nhóm đã thực hiện trong xuất quá trình làm đồ án của mình.
Cuối cùng sẽ là phần đánh giá kết quả và hướng phát triển mà nhóm đề ra.
TIEU LUAN MOI download : skknchat123@gmail.com ĐÁNH GIÁ KẾT QUẢ, HƯỚNG PHÁT TRIỂN
Đánh giá kết quả
Nhóm đã xây dựng được một mô hình hệ thống điều khiển các thiết bị trong gia đình bằng giọng nói đáp ứng được tất cả các tiêu chí đặt ra ban đầu như:
Độ chính xác nhận dạng các từ khóa điều khiển trên 90%
Là hệ thống xây dựng trên nền tảng Edge AI, hoạt động độc lập, không cần phải có kết nối internet
Hệ thống có thể đồng bộ điều khiển được với relay đáp ứng được mục tiêu không phá vỡ kết cấu trong gia đình được lắp đặt
TIEU LUAN MOI download : skknchat123@gmail.com
Hệ thống tuy mới ở mức độ mô hình nhưng vẫn cho thấy được tính đơn giản và nhỏ gọn, có thể kết với các hệ thống nhúng khác một cách dễ dàng.
Edge AI được xem là một công nghệ đang là xu hướng hiện nay, những hệ thống xử lý biên tốt có thể giảm tải được khá lớn khối lượng công việc ở tại local Vì thế đây là một trong những đề tài có thể phát triển hơn nữa ở cả lĩnh vực xử lý âm thanh hay cả hình ảnh, tạo ra được nhiều ứng dụng thực tế hơn nữa.
TIEU LUAN MOI download : skknchat123@gmail.com
Kết luận và hướng phát triển
2.1 Kết luận Đây là một hệ thống mà nhóm khá là tâm đắc trong quá trình thực hiện đồ án của mình Hệ thống đáp ứng hầu như toàn bộ các yêu cầu ban đầu mà nhóm đặt ra Kết quả tuy vẫn còn nhiều điểm chưa thực sự đánh giá rõ ràng, tuy nhiên nếu được tiếp tục phát triển, nhóm sẽ hoàn thiện thành một hệ thống hoàn chỉnh,
Nâng cao khả năng đáp ứng của hệ thống, tối ưu, tăng độ chính xác nhận dạng
Trong thời gian tới, nhóm đang có hướng phát triển, xây dựng thêm các mô hình nhận dạng khác không những về âm thanh và cả về hình ảnh như nhận dạng chữ số viết tay, nhận dạng, phân loại vật, người,…
Xây dựng, tích hợp nhiều mô hình khác nhau trên cùng một thiết bị vi điều khiển (multi model) để đa dạng hóa chức năng
Xây dựng hệ thống trên dòng vi điều khiển dual core (STM32H7xx) để tối ưu tốc độ tính toán, tăng khả năng đáp ứng của hệ thống, đáp ứng mục đích real time.
TIEU LUAN MOI download : skknchat123@gmail.com