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

(Luận văn thạc sĩ) ứng dụng mạng nơron kiểm tra bảng mạch điện tử

105 3 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 105
Dung lượng 6,64 MB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH LUẬN VĂN THẠC SĨ NGUYỄN QUỐC BÌNH ỨNG DỤNG MẠNG NƠRON KIỂM TRA BẢNG MẠCH ĐIỆN TỬ NGÀNH: KỸ THUẬT ĐIỆN TỬ - 605270 S K C0 Tp Hồ Chí Minh, tháng 10/2014 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH LUẬN VĂN THẠC SĨ NGUYỄN QUỐC BÌNH ỨNG DỤNG MẠNG NƠRON KIỂM TRA BẢNG MẠCH ĐIỆN TỬ NGÀNH: KỸ THUẬT ĐIỆN TỬ - 605270 Tp Hồ Chí Minh, tháng 10 năm 2014 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH LUẬN VĂN THẠC SĨ NGUYỄN QUỐC BÌNH ỨNG DỤNG MẠNG NƠRON KIỂM TRA BẢNG MẠCH ĐIỆN TỬ NGÀNH: KỸ THUẬT ĐIỆN TỬ - 605270 Hướng dẫn khoa học: TS HỒNG MINH TRÍ Tp Hồ Chí Minh, tháng 10 năm 2014 LÝ LỊCH KHOA HỌC I LÝ LỊCH SƠ LƯỢC: Họ & tên: Nguyễn Quốc Bình Giới tính: Nam Ngày, tháng, năm sinh: 19/11/1976 Nơi sinh: Tây Ninh Quê quán: Châu thành, Tây Ninh Dân tộc: Kinh Chỗ riêng địa liên lạc:390/18/16 Phan huy ích, Phường 12, Quận Gò Vấp Tp.HCM Điện thoại quan: 08.38521063 Điện thoại nhà riêng: 08.39470553 Fax: E-mail: binh.nguyenquoc@stu.edu.vn II QUÁ TRÌNH ĐÀO TẠO: Trung học chuyên nghiệp: Hệ đào tạo: Thời gian đào tạo từ ……/…… đến ……/ …… Nơi học (trường, thành phố): Ngành học: Đại học: Hệ đào tạo: Chính quy Thời gian đào tạo từ tháng 6/1995 đến tháng 6/ 2000 Nơi học:Đại học Kỹ thuật Công nghệ Tp.HCM Ngành học:Điện tử Viễn thông Tên đồ án, luận án môn thi tốt nghiệp: Tổng đài PABX 3-8 Ngày & nơi bảo vệ đồ án, luận án thi tốt nghiệp: Tháng năm 2000 Đại học Kỹ thuật Công nghệ Tp.HCM Người hướng dẫn: Ths Tạ Công Đức Trang i III Q TRÌNH CƠNG TÁC CHUN MƠN KỂ TỪ KHI TỐT NGHIỆP ĐẠI HỌC: Thời gian Từ năm 2000 – 2002 Từ năm 2003 - 2005 Từ năm 2005 - 2007 Từ năm 2007- đến Nơi công tác Công việc đảm nhiệm Viện Cơng nghệ viễn thơng Nhân viên phịng nghiên (CTT) Tp HCM cứu Đại Học Lạc Hồng Biên Hịa, Đồng Nai Giảng viên Cơng Ty Cổ Phẩn TTLD Nhân viên phịng nghiên Tp HCM cứu Đại học Cơng nghệ Sài gòn TP.HCM Giảng viên Tp HCM, ngày….tháng…năm 2014 Nguyễn Quốc Bình Trang ii LỜI CAM ĐOAN Tơi cam đoan cơng trình nghiên cứu tơi Các số liệu, kết nêu luận văn trung thực chưa công bố cơng trình khác Tp Hồ Chí Minh, ngày … tháng … năm 201… (Ký tên ghi rõ họ tên) Nguyễn Quốc Bình Trang iii MỤC LỤC Trang tựa Trang Quyết định giao đề tài Lý lịch cá nhân …………………………………………………………………… i Lời cam đoan …………………………………………………………………… iii Cảm tạ …………………………………………………………………………… iv Tóm tắt …………………………………………………………………………… v Mục lục …………………………………………………………………………… vi Danh sách chữ viết tắt………………………………………………………… ix Danh sách hình ………………………………………………………………… x Chƣơng 1TỔNG QUAN ĐỀ TÀI 1.1 Tổng quan chung lĩnh vực nghiên cứu .1 1.2 Mục tiêu đề tài .7 1.3 Nhiệm vụ giới hạn đề tài 1.4 Phương pháp nghiên cứu .8 1.5 Ý nghĩa thực tiễn tính cấp thiết đề tài Chƣơng 2CƠ SỞ LÝ THUYẾT .10 2.1 Xử lý ảnh .10 2.1.1 Một số khái niệm .10 2.1.2 Biểu diễn ảnh dạng ma trận 11 2.1.3 Độ phân giải ảnh 12 2.1.4 Sơ lược nhận dạng mẫu 12 2.2 Một số biến đổi ảnh .13 vi 2.2.1 Biến đổi đơn 13 2.2.2 Biến đổi Fourier rời rạc hai chiều (DFT-2D) .14 2.2.3 Biến đổi cosine rời rạc hai chiều 16 2.2.4 Biến đổi wavelet 17 2.3 Một số phương pháp tăng cường ảnh 21 2.3.1 Phép phân tích thành phần 22 2.3.2 Phương pháp loại nhiễu 24 2.4 Sơ lược đặc trưng ảnh 25 2.4.1 Đặc trưng màu sắc 25 2.4.2 Đặc trưng kết cấu 26 2.4.3 Đặc trưng hình dạng .26 2.4.4 Đặc trưng cục bố bất biến .27 2.5 Mạng nơron 27 2.5.1 Mạng perceptron lớp (single layer perceptron networks) .28 2.5.2 Mạng perceptron nhiều lớp (multilayer layer perceptron networks) 30 2.5.3 Các yếu tố ảnh hưởng đến tốc độ hội tụ luật học lan truyền .33 Chƣơng 3THIẾT KẾ HỆ THỐNG VÀ THỰC NGHIỆM 37 3.1 Tổng quan 37 3.2 Một số lỗi thường thấy trình sản xuất bảng mạch điện tử 37 3.3 Phương pháp giải đề tài .39 3.3.1 Trích đặc trưng 43 3.3.2 Xây dựng mạng nơron nhận dạng lỗi 45 3.4 Kết mô 49 3.4.1 Quá trình học mẫu .51 vii 3.4.2 Quá trình huấn luyện 51 3.4.3 Kết kiểm tra 54 3.4.4 Một số kết sau thay đổi thống số mạng .56 3.5 Kết mơ hình thực 59 3.5.1 Mô tả mơ hình .59 3.5.2 Tiến trình hoạt động hệ thống kiểm tra 63 Chƣơng 4KẾT LUẬN .80 4.1 Những kết đạt .80 4.2 Đánh giá kết 80 4.3 Những hạn chế đề tài 81 4.4 Dự kiến hướng phát triển đề tài 81 TÀI LIỆU THAM KHẢO 82 PHỤ LỤC 84 viii Chƣơng TỔNG QUAN ĐỀ TÀI 1.1 Tổng quan chung lĩnh vực nghiên cứu Công nghệ bán dẫn dán bề mặt (Surface Mounted Technology – SMT) công nghệ phổ biến sử dụng nhiều nhà máy sản xuất sản phẩm điện tử Quá trình sản xuất thường bao gồm ba giai đoạn chính: trước tiên lớp chì dán phủ lên bề mặt bảng mạch (solder printing), trình lấy đặt linh kiện vào vị trí bảng mạch (pick and place) cuối mối hàn hình thành giai đoạn gia nhiệt (reflow) Với giải pháp sử dụng linh kiện dán, trình sản xuất cải thiện rõ ràng tốc độ nguy lỗi tăng lên Tại bước trình sản xuất lỗi khác xảy ra, ví dụ chì dán (paste missing), chì dán bị dính hai chân linh kiện (paste bridges) bước phủ chì, linh kiện bị dịch chuyển (components position shift), linh kiện (components missing) bước lấy đặt linh kiện, lỗi hàn bước gia nhiệt Việc linh kiện giảm đáng kể kích thước, mật độ linh kiện dày đặc bảng mạch thiết bị thực lắp ráp với mức độ tự động cao làm cho nhiệm vụ phát lỗi trở nên quan trọng khó khắn nhiều Phát lỗi trình sản xuất quan trọng trình tối ưu hóa quy trình cơng nghiệp, đặc biệt kiểm tra trực quan đóng vai trị bản, hình ảnh thường kiểm tra người Tuy nhiên, với công nghệ việc kiểm tra khơng cịn tin cậy Đây lý khiến nhiều nhà nghiên cứu tích cực tham gia phân tích, phát triển q trình tự động hóa dây chuyền sản xuất kiểm tra lỗi bảng mạch điện tử Tự động kiểm tra quang học (automated optical inspection - AOI) công cụ nhiều nhà nghiên cứu phát triển thành công TÀI LIỆU THAM KHẢO TIẾNG VIỆT TS Nguyễn Thanh Hải,slide giảng xử lý ảnh, Tài liệu tham khảo, 2013 TS Ngô Văn Thuyên, slide giảng feedforward networks, Tài liệu tham khảo, 2013 TS Đỗ Năng Toàn, TS Phạm Việt Bình,Xử lý ảnh, Đại học Thái Nguyên, tháng 11 năm 2007, 76 trang TS Hồ Văn Sung, Xử lý ảnh số lý thuyết thực hành với Matlab, Nhà xuất khoa học kỹ thuật, Hà Nội 2013, 304 trang Phạm Hữu Đức Dục, Mạng nơron ứng dụng điều khiển tự động, Nhà xuất khoa học kỹ thuật, Hà Nội 2009, 292 trang Ngô Văn Sỹ, Nhận dạng ký tự quang học mạng nơron, Tạp chí khoa học công nghệ, Đại Học Đà Nẵng số 4(27), 2008 Huỳnh Hữu Lộc, Lưu Quốc Hải, Đinh Đức Anh Vũ, Nhận chữ viết tay dùng rút trích thơng tin theo chiều mạng nơron, Science & Technology Development, Vol 14, No.K2- 2011 Huỳnh Ngọc Lộc, Nhận dạng biển báo giao thông sơ sử dụng lọc gabor mạng nơron, Đại Học Đà Nẵng, 2013 TIẾNG NƢỚC NGOÀI M Moganti, F Ercal, C Dagli, S Tsunekawa, Automatic PCB inspection algorithms: a survey, Computer Vision and Image Understanding, Vol 63, N° 2, pp.287-313,1996 10 Ahmed Nabil BELBACHIR, Mario LERA, Alessandra FANNI and Augusto MONTISCI, An Automatic Optical Inspection System for the Diagnosis of Printed Circuits Based on Neural Networks, IEEE, 2005 82 11 Giuseppe Acciani, Gioacchino Brunetti and Girolamo Fornarelli, Application of Neural Networks in Optical Inspection and Classification of Solder Joints in Surface Mount Technology, IEEE, August 2006 12 K Sundaraj, PCB Inspection for Missing or Misaligned Components using Background Subtraction, Information Science and Applications,May 2009 13 Zhou Zeng, LiZhuang Ma and ZuoYong Zheng, Extracting PCB components based on color distribution of highlight areas, Advanced Materials Research, vol 97-101 pp 2940-2943, February 2010 14 Mar, Nang Seng Siri and Fookes, Clinton and Prasad, Automatic Solder Joint Defect Classification using the Log-Gabor Filter, K.D.V Yarlagadda 2010 15 Sanveer Singh, Manu Bharti, Image Processing Based Automatic Visual Inspection System for PCBs, June 2012 16 Xibing Li and Jianjia Wang, Defect Detection of SMT Electronic Modules, Natural Sciences Publishing Cor, Mar 2013 17 Eng Ruba A Salamah, EELE 5310: Digital Image Processing 18 Mark Hudson Beale, Martin T Hagan, Howard B Demuth, Neural Network Toolbox™ User’s Guide, MathWorks2013 19 Mark Hudson Beale, Martin T Hagan, Howard B Demuth, Neural Network Toolbox™ Reference, MathWorks2013 20 Một số tài liệu từ internet http://www.model22x.com http://en.wikipedia.org/wiki/Automated_optical_inspection https://www.google.com.vn/search?q=AOI+automatic+optical+inspection++YouTube&ie=utf-8&oe=utf-8&rls=org.mozilla:en-US:official&client=firefoxa&channel=np&source=hp&gws_rd=cr 83 PHỤ LỤC Sơ đồ mạch card điều khiển motor bƣớc VCC C19 SW1 R28 4.7K 0.1 RESET VCC C20 SW2 BOOT R29 4.7K Y Half _Full Y Clock Y Cw_Ccw Y Enable XHalf _Full XClock XCw_Ccw XEnable VCC 0.1 C33 15p Y1 20MHz C34 15p J5 1K VBUS DD+ GND SHIELD SHIELD Y Reset XReset R57 DD+ D4 LED_USB J6 KEY BOARD U11 10 11 12 13 14 15 16 17 18 24 23 C49 1uF R35 1.5K MCLR/VPP/RE3 RB7/KBI3/PGD RA0/AN0 RB6/KBI2/PGC RA1/AN1 RB5/KBI1/PGM RA2/AN2/VREF-/CVREF RB4/AN11/KBI0/CSSPP RA3/AN3/VREF+ RB3/AN9/CCP2/VPO RA4/T0CKI/C1OUT/RCV RB2/AN8/INT2/VMO RA5/AN4/SS/HLVDIN/C2OUT RB1/AN10/INT1/SCK/SCL RE0/AN5/CK1SPP RB0/AN12/INT0/FLT0/SDI/SDA RE1/AN6/CK2SPP VDD1 RE2/AN7/OESPP VSS1 VDD RC6/TX/CK VSS RC7/RX/DT/SDO OSC1/CLKI RD4/SPP4 OSC2/CLKO/RA6 RD5/SPP5/P1B RC0/T1OSO/T13CKI RD6/SPP6/P1C RC1/T1OSI/CCP2/UOE RD7/SPP7/P1D RC2/CCP1/P1A RD3/SPP3 VUSB RD2/SPP2 RC5/D+/VP RD1/SPP1 RC4/D-/VM RD0/SPP0 40 39 38 37 36 35 34 33 32 31 25 26 27 28 29 30 22 21 20 19 VCC Buzzer Y 1SENSOR Y 2SENSOR X1SENSOR X2SENSOR LED_V1 LED_V2 R37 R36 PIC18F4550 D+ D- USB_HDR R60 47K VCC Vpower R62 VCC D7 D XClock 17 XCw_Ccw 10 XEnable U12 L297 CLOCK A B D CW/CCW INH1 ENABLE INH2 VCC CONTROL Vref SENSE2 10 12 11 14 13 15 B D11 D D13 D A D9 D Q1 L3 STEP MOTOR C D Q2 INH1 Q3 13 INH2 SENSE1 SENSE2 L4 STEP MOTOR Q4 14 R61 15 GND 10K SENSE1 SYNC 11 VCC C Vpower 12 VCC HALF/FULL U13 L298 GND 18 RESET HOME 19 XHalf _Full OSC 16 4.7K 20 VCC VCC D5 D6 VCC C35 20nF XReset 560 560 R58 10 R59 10 D8 D D10 D D12 D D14 D D15 D D17 D D19 D D21 D SY NC VCC VCC Vpower R67 VCC 17 Y Cw_Ccw 10 Y Enable U14 L297 CLOCK A B D CW/CCW INH1 ENABLE INH2 VCC 10K Vref SENSE2 10 12 11 14 13 15 A B Q1 L5 STEP MOTOR C D Q2 INH1 Q3 13 INH2 SENSE1 SENSE2 L6 STEP MOTOR Q4 14 D16 D R63 15 SENSE1 SYNC CONTROL GND 11 VCC C Vpower 12 HALF/FULL U15 L298 GND 18 Y Clock HOME 19 Y Half _Full RESET VCC 20 Y Reset OSC 16 4.7K R64 10 R65 10 SY NC 84 D18 D D20 D D22 D RED GREEN Code m file AOIBQ.m % Author: Nguyen Quoc Binh (binh.nguyenquoc@stu.edu.vn) Một số hàm liên quan Camera Khởi động camera ObjVideo = videoinput('winvideo', InfoDevice.DeviceID, 'YUY2_640x480', 'returnedcolorspace', 'rgb'); triggerconfig(ObjVideo, 'manual'); set(ObjVideo, 'TriggerRepeat', Inf); set(ObjVideo, 'Framespertrigger', 1); if isvalid(ObjVideo) if isrunning(ObjVideo) stop(ObjVideo); end end Chụp ảnh if isrunning(ObjVideo) StopTimer(); FrameImg = getsnapshot(ObjVideo); MatROI = imcrop(FrameImg, rectImg); axes(handles.axesSnapshot); imshow(MatROI); StartTimer(); end Load ảnh StopTimer(); [filename, pathname] = uigetfile({'*.jpg;*.tif;*.png;*.gif', 'All Image Files';'*.*','All Files'}, 'Select image', 'D:\A Luan van BQ\AOI Matlab\Data Image'); if isequal(filename, 0) set(handles.txtInfo, 'String', 'User selected Cancel'); StartTimer(); return; end % Read image ReadImg = imread(fullfile(pathname,filename)); axes(handles.axesOpen); imshow(ReadImg); Save ảnh StopTimer(); [filename, pathname] = uiputfile({'*.jpg;*.tif;*.png;*.gif', 'All Image Files';'*.*','All Files'}, 'Save image', 85 'D:\A Luan van BQ\AOI Matlab\Data Image'); if isequal(filename, 0) set(handles.txtInfo, 'String', 'User selected Cancel'); StartTimer(); return; end if (~isempty(MatROI)) imwrite(MatROI, fullfile(pathname, filename)); % Write image % Hien thi thong tin set(handles.txtInfo, 'string', 'Write a frame from video input'); else set(handles.txtInfo, 'string', 'FrameImg is empty'); end StartTimer(); Một số hàm trích đặc trƣng % Value Area function ValueA = AreaA(matrixImage) [r,c] = size(matrixImage); ValueA = 0; for i=1:r % rows for j=1:c % Columns TempA = matrixImage(i,j)/255; % Sij ValueA = ValueA + TempA; end end % Value Perimeter function ValueP = PerimeterA(matrixImage) [r,c] = size(matrixImage); ppi = 0; ppj = 0; for i=1:(r-1) % rows for j=1:(c-1) % Columns pSij = matrixImage(i,j)/255; % S(i,j) pSi1j = matrixImage(i+1,j)/255; % S(i+1,j) pSij1 = matrixImage(i,j+1)/255; % S(i,j+1) ppi = ppi + abs(pSij-pSi1j); ppj = ppj + abs(pSij-pSij1); end end ValueP = ppi + ppj; % Value Compactness function ValueC = CompactnessA(a, p) pValueP = p*p; ValueC = a/pValueP; % For matrices X, max(X) is a row vector containing the maximum element from each column % Value Height 86 function ValueH = HeightA(matrixImage) s = max(matrixImage);% s = [MaxC1, MaxC2, MaxCc] ValueH = 0; % Sum values max of all columns for i=1:length(s) TempH = s(i)/255; ValueH = ValueH + TempH; end % Value Width function ValueW = WidthA(matrixImage) [r,c]=size(matrixImage); x = zeros(1,c);% row, c col s = zeros(1,r);% Created a row vector containing the maximum element from each row ValueW = 0; for i=1:r for j=1:c x(j) = matrixImage(i,j);% get a row end s(i) = max(x);% Value max of row s = [MaxH1, MaxH2, MaxHr] end % Sum values max of all rows for i=1:length(s) TempW = s(i)/255; ValueW = ValueW + TempW; end % Value Length function ValueL = LengthA(matrixImage) [r,c]=size(matrixImage); x = zeros(1,c);% Created a row vector containing sum value from each col for j=1:c valueT = 0; for i=1:r Lij = matrixImage(i,j)/255; valueT = valueT + Lij;% Sum values of col end x(j) = valueT; end ValueL = max(x); % Value Breadth function ValueB = BreadthA(matrixImage) [r,c]=size(matrixImage); x = zeros(1,r);% Created a row vector containing sum value from each row for i=1:r valueT = 0; for j=1:c Bij = matrixImage(i,j)/255; 87 valueT = valueT + Bij;% Total values of row end x(i) = valueT; end ValueB = max(x); % Value Index function ValueI = IndexA(a, l, b) pValueI = l*b; ValueI = a/pValueI; % Value Avg function ValueG = AvgA(matrixImage) [r,c] = size(matrixImage); ValueG = 0; for i=1:r % rows for j=1:c % Columns TempA = matrixImage(i,j)/255; % Sij ValueG = ValueG + TempA; end end ValueG = ValueG/(r*c); % Value Variance function ValueV = VarianceA(matrixImage, g) [r,c] = size(matrixImage); ValueV = 0; for i=1:r % rows for j=1:c % Columns TempA = abs(((matrixImage(i,j))/255) - g); % Sij - avg(S) TempA = TempA*TempA; ValueV = ValueV + TempA; end end % Value Standard Deviation function ValueS = SDeviationA(matrixImage, v) [r,c] = size(matrixImage); ValueS = v/(r*c); ValueS = sqrt(ValueS); % Value DCrossed function ValueD = DCrossedA(matrixImage) [r,c] = size(matrixImage); ValueD = 0; for i=1:r % rows j=i; % Columns TempA = matrixImage(i,j)/255; % Sij ValueD = ValueD + TempA; end % Value UCrossed 88 function ValueU = UCrossedA(matrixImage) [r,c] = size(matrixImage); ValueU = 0; for i=1:r % rows j=(c+1)-i; % Columns TempA = matrixImage(i,j)/255; % Sij ValueU = ValueU + TempA; end Code học mẫu InputVector = [a,p,c,h,w,l,b,i,v,s,d,u]; NumberP=size(InputVector); InputElements = NumberP(2); if (get(handles.radioTrue, 'Value')) TargetOutput = [1,0]; elseif (get(handles.radioFalse, 'Value')) TargetOutput = [0,1]; end NumberT = size(TargetOutput); outputLayerNoron = NumberT(2); load(fullfile(pathnameMat,filenameMat),'P','T'); if (isempty(P)) c=1; r=InputElements; for i=1:r P(i,c)=InputVector(i); end r=outputLayerNoron; for i=1:r T(i,c)=TargetOutput(i); end else [r,c]=size(P); for i=1:r P(i,c+1)=InputVector(i); end [r,c]=size(T); for i=1:r T(i,c+1)=TargetOutput(i); end end % saves the specified variables to a MAT-file save(fullfile(pathnameMat,filenameMat),'P','T'); NoSamples = size(P); set(handles.txtSamples, 'String', NoSamples(2)); inputs = P targets = T 89 Code huấn luyện kiểm tra StopTimer(); hiddenLayerNoron = str2double(get(handles.editHiddenNoron,'String')); bqEpochs = str2double(get(handles.editEpochs,'String')); bqGoal = str2double(get(handles.editGoal,'String')); bqLearningRate = str2double(get(handles.editLearningRate,'String')); % loads the specified variables from a MAT-file load(fullfile(pathnameMat,filenameMat),'P','T'); inputs = P; targets = T; NumberP = size(P); InputElements = NumberP(1); NumberT = size(T); outputLayerNoron = NumberT(1); VweightLayer10 = hiddenLayerNoron*InputElements; VweightLayer21 = hiddenLayerNoron*outputLayerNoron; Vbias = hiddenLayerNoron + outputLayerNoron; % Create a Pattern Recognition Network % net = patternnet(hiddenLayerNoron); net = feedforwardnet(hiddenLayerNoron); % The key subobjects of the network object are inputs, layers, outputs, biases, inputWeights and layerWeights % A neural network's training algorithm: 'traingd' ; 'traingda' ; 'traingdm' ; 'traingdx' ; 'traingdlm' ; net.trainFcn = 'traingd'; % Gradient descent backpropagation % Training performance function net.performFcn = 'mse'; % Mean squared normalized error performance function net.divideFcn = ''; % Turn off a feature that is introduced later (Training all samples) % net.divideFcn = 'dividerand'; % 'dividerand' ; 'divideblock' ; 'divideint' ; 'divideind' net.layers{1,1}.transferFcn = 'tansig'; % 'logsig' ; 'tansig' ; 'purelin' net.layers{2,1}.transferFcn = 'purelin'; % 'logsig' ; 'tansig' ; 'purelin' % Configure network inputs and outputs to best match input and target data net = configure(net, inputs, targets); % Indicate if network inputs and outputs are configured % [flag,inputFlags,outputFlags] = isconfigured(net); % Reinitialize all weights and biases % net = init(net); % Setting random values for weights and bias net = setwb(net,randn((VweightLayer10+VweightLayer21+Vbias),1)); 90 net.trainParam.epochs = bqEpochs; % Maximum number of epochs to train net.trainParam.goal = bqGoal; % 1e-5; net.trainParam.lr = bqLearningRate; % Learning rate % net.trainParam.showWindow = true; % net.trainParam.showCommandLine = true; net.trainParam.show = 10; % Epochs between displays (NaN for nodisplays) % View the layers subobject for the first layer layer1 = net.layers{1,1} % View the layers subobject for the second layer layer2 = net.layers{2,1} % View the inputWeights subobject for the weight between layer0 and layer1 inputWeights1 = net.inputWeights{1,1} % View the layerWeights subobject for the weight between layer1 and layer2 layerWeights1 = net.layerWeights{2,1} % Train the Network [net,tr] = train(net, inputs, targets); w10 = net.iw{1,1} w21 = net.lw{2,1} b1=net.b{1,1} b2=net.b{2,1} % Test outputs = net(inputs) errors = gsubtract(targets,outputs) % saves the specified variables to a MAT-file save(fullfile(pathnameMat,'weight.mat'),'w10','w21','b1','b2','out puts','errors'); StartTimer(); % Rusult test SampleT = [a;p;c;h;w;l;b;i;v;s;d;u]; Yout = net(SampleT); set(handles.txtOut1, 'String', Yout(1)); set(handles.txtOut2, 'String', Yout(2)); % Rusult if (Yout(1)>0.7) && (Yout(1)-0.3) && (Yout(1)0.7) && (Yout(2)-0.3) && (Yout(2)

Ngày đăng: 08/12/2021, 06:44

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. TS. Nguyễn Thanh Hải,slide bài giảng xử lý ảnh, Tài liệu tham khảo, 2013 Sách, tạp chí
Tiêu đề: slide bài giảng xử lý ảnh
2. TS. Ngô Văn Thuyên, slide bài giảng feedforward networks, Tài liệu tham khảo, 2013 Sách, tạp chí
Tiêu đề: slide bài giảng feedforward networks
3. TS. Đỗ Năng Toàn, TS. Phạm Việt Bình,Xử lý ảnh, Đại học Thái Nguyên, tháng 11 năm 2007, 76 trang Sách, tạp chí
Tiêu đề: Xử lý ảnh
4. TS. Hồ Văn Sung, Xử lý ảnh số lý thuyết và thực hành với Matlab, Nhà xuất bản khoa học và kỹ thuật, Hà Nội 2013, 304 trang Sách, tạp chí
Tiêu đề: Xử lý ảnh số lý thuyết và thực hành với Matlab
Nhà XB: Nhà xuất bản khoa học và kỹ thuật
5. Phạm Hữu Đức Dục, Mạng nơron và ứng dụng trong điều khiển tự động, Nhà xuất bản khoa học và kỹ thuật, Hà Nội 2009, 292 trang Sách, tạp chí
Tiêu đề: Mạng nơron và ứng dụng trong điều khiển tự động
Nhà XB: Nhà xuất bản khoa học và kỹ thuật
6. Ngô Văn Sỹ, Nhận dạng ký tự quang học bằng mạng nơron, Tạp chí khoa học và công nghệ, Đại Học Đà Nẵng số 4(27), 2008 Sách, tạp chí
Tiêu đề: Nhận dạng ký tự quang học bằng mạng nơron
7. Huỳnh Hữu Lộc, Lưu Quốc Hải, Đinh Đức Anh Vũ, Nhận chữ viết tay dùng rút trích thông tin theo chiều và mạng nơron, Science & Technology Development, Vol 14, No.K2- 2011 Sách, tạp chí
Tiêu đề: Nhận chữ viết tay dùng rút trích thông tin theo chiều và mạng nơron
8. Huỳnh Ngọc Lộc, Nhận dạng biển báo giao thông trên cơ sơ sử dụng bộ lọc gabor và mạng nơron, Đại Học Đà Nẵng, 2013.TIẾNG NƯỚC NGOÀI Sách, tạp chí
Tiêu đề: Nhận dạng biển báo giao thông trên cơ sơ sử dụng bộ lọc gabor và mạng nơron
9. M. Moganti, F. Ercal, C. Dagli, S. Tsunekawa, Automatic PCB inspection algorithms: a survey, Computer Vision and Image Understanding, Vol. 63, N° 2, pp.287-313,1996 Sách, tạp chí
Tiêu đề: Automatic PCB inspection algorithms: a survey
10. Ahmed Nabil BELBACHIR, Mario LERA, Alessandra FANNI and Augusto MONTISCI, An Automatic Optical Inspection System for the Diagnosis of Printed Circuits Based on Neural Networks, IEEE, 2005 Sách, tạp chí
Tiêu đề: An Automatic Optical Inspection System for the Diagnosis of Printed Circuits Based on Neural Networks
11. Giuseppe Acciani, Gioacchino Brunetti and Girolamo Fornarelli, Application of Neural Networks in Optical Inspection and Classification of Solder Joints in Surface Mount Technology, IEEE, August 2006 Sách, tạp chí
Tiêu đề: Application of Neural Networks in Optical Inspection and Classification of Solder Joints in Surface Mount Technology
12. K. Sundaraj, PCB Inspection for Missing or Misaligned Components using Background Subtraction, Information Science and Applications,May 2009 Sách, tạp chí
Tiêu đề: PCB Inspection for Missing or Misaligned Components using Background Subtraction
13. Zhou Zeng, LiZhuang Ma and ZuoYong Zheng, Extracting PCB components based on color distribution of highlight areas, Advanced Materials Research, vol. 97-101. pp. 2940-2943, February 2010 Sách, tạp chí
Tiêu đề: Extracting PCB components based on color distribution of highlight areas
14. Mar, Nang Seng Siri and Fookes, Clinton and Prasad, Automatic Solder Joint Defect Classification using the Log-Gabor Filter, K.D.V. Yarlagadda 2010 Sách, tạp chí
Tiêu đề: Automatic Solder Joint Defect Classification using the Log-Gabor Filter
15. Sanveer Singh, Manu Bharti, Image Processing Based Automatic Visual Inspection System for PCBs, June 2012 Sách, tạp chí
Tiêu đề: Image Processing Based Automatic Visual Inspection System for PCBs
16. Xibing Li and Jianjia Wang, Defect Detection of SMT Electronic Modules, Natural Sciences Publishing Cor, 1 Mar 2013 Sách, tạp chí
Tiêu đề: Defect Detection of SMT Electronic Modules
18. Mark Hudson Beale, Martin T. Hagan, Howard B. Demuth, Neural Network Toolbox™ User’s Guide, MathWorks2013 Sách, tạp chí
Tiêu đề: Neural Network Toolbox™ User’s Guide
19. Mark Hudson Beale, Martin T. Hagan, Howard B. Demuth, Neural Network Toolbox™ Reference, MathWorks2013 Sách, tạp chí
Tiêu đề: Neural Network Toolbox™ Reference
20. Một số tài liệu từ internet http://www.model22x.comhttp://en.wikipedia.org/wiki/Automated_optical_inspection Link
17. Eng. Ruba A. Salamah, EELE 5310: Digital Image Processing Khác
w