43
Hình 2.16: Q trình huấn luyện chỉnh lưu tồn kỳ.
➢ Bước 6: Lưu dữ liệu đã được huấn luyện.
Tại mục Export( xuất) chúng ta có được 2 mục đó là Generate Code for Training ( Xuất code cho huấn luyện) và Export Trained Network and Results( Xuất thông tin và kết quả của chế độ huấn luyện).
44 Chúng ta có thể chọn mục “Xuất code cho huấn luyện” để kiểm tra và chỉnh sửa code cho chế độ huấn luyện trong trường hợp thay đổi các thơng số đầu vào và đầu ra.
Hình 2.18: Xuất code ra file.
Đồng thời ta chọn “Xuất thông tin và kết quả của chế độ huấn luyện” để lưu kết quả đã huấn luyện lại dùng cho cơng tác nghiên cứu.
Hình 2.19: Xuất kết quả huấn luyện.
Sau khi xuất kết quả ra thì chúng ta thu được dữ liệu trong MATLAB như sau.
45 Chúng ta lưu kết quả đạt được này vào file “CL_ban_ky.mat ” để dùng hỗ trợ cho việc lập trình.
➢ Bước 7: Thiết lập giao diện để sử dụng.
Để xây dựng giao diện như hình 2.19 thì nhóm chúng em thực hiện như sau : • Logo trường và khoa ở hai góc trên cùng.
• Tên đề tài nghiên cứu ở giữa hai logo này.
• Thanh lựa chọn “Chọn mạch nhận diện” để lựa chọn các mạch nhận diện như là : mạch chỉnh lưu bán kỳ, mạch chỉnh lưu cầu, mạch chỉnh lưu toàn kỳ.
• Nút nhấn “Ảnh nhận diện” để chọn ảnh đầu vào cần nhận diện.
• Nút nhấn “Nhận diện” để nhận diện ảnh đầu vào này là loại gì, có chính xác hay khơng, có sai gì khơng. Bên cạnh đó khi chúng ta nhấn vào nút này sẽ xuất ra ảnh sơ đồ nguyên lý của mạch ngay bên dưới để nếu có sai thì chúng ta biết cách để sửa lại cho chính xác.
• Nút nhấn “Close” để đóng ứng dụng lại.
• Sử dụng WORD để tạo file .htm để tạo chú thích tên nhãn dán. Bởi vì tại nơi hiển thị dạng lỗi nếu hiển thị tên tiếng việt dễ bị lỗi, nên nhóm chúng em sử dụng chú thích để người dùng dễ hiểu hơn, chúng ta có thể click vào chọn mục “Tên nhãn dán” để xem chi tiết lỗi.
46
47
48
CHƯƠNG 3. Đánh giá.
3.1. Thử nghiệm ứng dụng trong thực tế.
Ứng dụng nhận dạng lỗi trong mạch chỉnh lưu đã được thử nghiệm thực tế với các loại mạch chỉnh lưu đã được liệt kê khác nhau được nêu ở trên. Nhóm các mạch chỉnh lưu được chọn để xây dựng bộ dữ liệu nhận dạng đều đạt được kết quả với độ chính xác khá cao.
49
3.2. Ưu điểm của đề tài.
➢ Sau khi hoàn thành đề tài nghiên cứu khoa học này, nhóm chúng em đánh giá giao diện dễ sử dụng, khơng tạo sự khó hiểu cho người dùng.
➢ Độ chính xác của mỗi quá trình huấn luyện của mạng là 100% nên độ tin cậy cao. ➢ Thời gian nhận diện nhanh chóng.
3.3. Nhược điểm của đề tài.
➢ Người sử dụng quên thay đổi thanh chọn hiển thị mạch chỉnh lưu làm cho sai lệch các lỗi. Bởi vì lỗi của mạch chỉnh lưu này có thể sẽ là đúng của mạch chỉnh lưu khác.
➢ Chưa thể viết dấu tiếng Việt để hiển thị được. Nhưng có chú thích “Tên nhãn dán” nên nhược điểm này khơng ảnh hưởng nhiều đến q trình nhận diện nhiều.
C. KẾT LUẬN VÀ KIẾN NGHỊ.
Đề tài đã nghiên cứu, tìm hiểu bài tốn tự động nhận dạng, tìm kiếm lỗi sai trong mạch chỉnh lưu. Nhóm đã thực hiện phát triển, cài đặt phương án giải quyết cho bài tốn dựa trên sự tìm kiếm, thống kê các hướng tiếp cận đã được công bố qua rất nhiều bài báo, cơng trình khoa học trên thế giới, tiếp cận được nền công nghệ máy về phương pháp lẫn cấu trúc của mạng học sâu.
Những kết quả đã đạt được trong quá trình nhận diện lỗi như sau:
- Hoàn thiện xây dựng bộ cơ sở dữ liệu ảnh phục vụ huấn luyện nhận dạng cho ba mạch chỉnh lưu thơng dụng trong phịng thực hành D302, với số lượng ảnh gốc trong mỗi mạch chỉnh lưu dao động từ 250 – 400 ảnh.
- Cài đặt và tinh chỉnh một mạng nơ-ron tích chập đã được huấn luyện trước, ứng dụng vào bài toán nhận dạng lỗi trong mạch chỉnh lưu. Đồng thời xây dựng hệ thống tự động nhận dạng lỗi trong mạch chỉnh lưu dễ sử dụng kết hợp với độ chính xác cao trên máy tính.
Thực nghiệm với bộ dữ liệu test và trong thực tế đã cho kết quả khá tốt, nguyên nhân chính là do phạm vi số lượng mạng chỉnh lưu được thu gọn lại ứng dụng cho phòng thực hành khơng được tính là nhiều nếu so sánh với số lượng mạch chỉnh lưu đang có hiện nay
50 tại Việt Nam nói riêng và cả thế giới nói chung. Hệ thống tự động nhận dạng lỗi trong mạch chỉnh lưu cịn có nhiều thiếu sót cần được cải thiện nhiều hơn về mặt chất lượng của bộ CSDL ảnh huấn luyện cũng như độ chính xác và tốc độ vận hành trong mỗi lần nhận diện. Trong tương lai, để có thể cải thiện độ chính xác của mơ hình nhận dạng, nhóm đề tài đề xuất cài đặt thử nghiệm và đánh giá các loại mơ hình mạng Học sâu đã được huấn luyện trước, đặc biệt là các mạng đã đạt được kết quả cao trong cuộc thi Nhận dạng ảnh quy mô lớn do ImageNet tổ chức thường niên như: ZF Net (2013), VGG Net (2014), GoogleNet và Microsoft ResNet (2015)… Và đặc biệt nếu có thể thì nên phát triển theo hướng code trên Python thay vì Matlab để giảm nhẹ về mặt dung lượng cần có để sử dụng chương tình này.
51
Tài liệu tham khảo.
1. www.mathworks.com 2. www.wikipedia.org
3. Giáo trình Điện tử cơ bản – Trần Thu Hà (Chủ biên).
4. Giáo trình Thực tập Điện tử - Trương Thị Bích Nga (Chủ biên). 5. Văn kiện Nghị quyết Đại hội Đảng toàn quốc lần thứ XIII.
Chương trình máy tính.
➢ Code xử lý nút “Ảnh đầu vào”. global I;
% Tao khoang trong
set(handles.edit1,'string',''); % Lay anh dau vao
[Filename,Pathname]=uigetfile({'*.*';'*.jpg';'*.png'},'File
Select');
% Lay duong dan file image
fullfile=strcat(Pathname,Filename);
%hien thi image len axes + dieu chinh kich thuoc dau vao a=imread(fullfile); I = imresize(a, [227 227]); axes(handles.axes1); imshow(I); ➢ Code xử lý nút “Nhận diện”. global I; luachon = get(handles.luachon,'value');
52 switch luachon
case 2 % CL ban ky % Ket qua nhan duoc
net = load('CL_ban_ky.mat');
[YPred,probs] = classify(net.trainedNetwork_1,I); imshow(I)
% Xuat ra man hinh
set(handles.edit1,'string',YPred); axes(handles.axes2)
imshow('C:\matlab_NCKH\CL_ban_ky.png')
set(handles.edit2,'string','So do nguyen ly mach'); case 3 % CL cau
% Ket qua nhan duoc
net = load('CL_cau.mat');
[YPred,probs] = classify(net.trainedNetwork_2,I); imshow(I)
% Xuat ra man hinh
set(handles.edit1,'string',YPred); axes(handles.axes2)
imshow('C:\matlab_NCKH\CL_cau.png')
set(handles.edit2,'string','So do nguyen ly mach'); case 4 % CL toan ky
53 net = load('CL_toan_ky.mat');
[YPred,probs] = classify(net.trainedNetwork_3,I); imshow(I)
% Xuat ra man hinh
set(handles.edit1,'string',YPred); axes(handles.axes2)
imshow('C:\matlab_NCKH\CL_toan_ky.png')
set(handles.edit2,'string','So do nguyen ly mach'); end
➢ Code xử lý nút “Close”.
answer = questdlg('Do you want to close?', ... 'Close', ... 'Yes','No','No'); switch answer case 'Yes' close; case 'No' end
➢ Chèn “Tên nhãn dán” vào giao diện. web tên.htm