Phương pháp xây dựng hệ thống nhận dạng sử dụng logic mờ trong phân loại sản phẩm gạch ốp lát Phương pháp xây dựng hệ thống nhận dạng sử dụng logic mờ trong phân loại sản phẩm gạch ốp lát Phương pháp xây dựng hệ thống nhận dạng sử dụng logic mờ trong phân loại sản phẩm gạch ốp lát luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - ĐINH VĂN NHƢỢNG PHƢƠNG PHÁP XÂY DỰNG HỆ THỐNG NHẬN DẠNG SỬ DỤNG LOGIC MỜ TRONG PHN LOI SN PHM GCH P LT Chuyên ngành: Đo l-êng M· sè 62.52.62.01 LUẬN ÁN TIẾN SĨ KỸ THUẬT NGƢỜI HƢỚNG DẪN KHOA HỌC PGS.TS Phạm Thị Ngọc Yến PGS.TSKH Trần Hoài Linh LỜI CAM ĐOAN Hà Nội, năm 2010 Luận án nghiên cứu sinh chuyên ngành đo lường, mã số 62.52.62.01 với nội dung: ”Phương pháp xây dựng hệ thống nhận dạng sử dụng logic mờ phân loại sản phẩm gạch ốp lát” tập thể thầy cô giáo hướng dẫn Trong thời gian nghiên cứu, đọc, tham khảo tài liệu liên quan tác giả ngồi nước Đồng thời tơi giúp đỡ nhiệt tình, trách nhiệm giáo viên hướng dẫn: PGS.TS Phạm Thị Ngọc Yến PGS.TSKH Trần Hoài linh với tập thể thầy cô giáo môn kỹ thuật đo tin học công nghiệp trường Đại học Bách khoa Hà Nội giúp đỡ hoàn thành luận án Những nội dung luận án đề xuất, không chép tài liệu cơng trình cơng bố Tơi xin cam đoan chịu trách nhiệm kết nghiên cứu Hà Nội, tháng năm 2010 Người viết cam đoan Đinh Văn Nhượng MỤC LỤC Mục lục Danh mục ký hiệu, chữ viết tắt Danh mục bảng Danh mục hình vẽ đồ thị Mở đầu 10 Chương I: Thực trạng phân loại sản phẩm cơng nghiệp tốn phân loại sản phẩm gạch ốp lát 15 1.1.Mơ hình nhận dạng phương pháp tiếp cận 15 1.1.1 Nhận dạng mơ hình nhận dạng 15 1.1.2 Các phương pháp tiếp cận 16 1.2 Nhận dạng sử dụng ảnh số 17 1.2.1 Nhận dạng phân loại chất lượng theo màu sắc đối tượng 18 1.2.2 Nhận dạng phân loại vật thể 19 1.3 Phân tích tốn phân loại gạch ốp lát 21 1.3.1 Quy trình sản xuất 21 1.3.2 Quá trình phân loại 23 1.4 Phương án đề xuất 24 Kết luận chương I 26 Chương II: Nghiên cứu ứng dụng mạng nơ rơn logic mờ TSK để xây dựng mơ hình nhận dạng 27 2.1 Mơ hình mạng nơ rơn 27 2.2 Một số mạng nơ rôn thường sử dụng toàn nhận dạng 30 2.2.1 Mạng Kohonen 30 2.2.2 Mạng MLP (Multilayer perceptrons Network) 31 2.3 Mơ hình nhận dạng mạng nơ rôn logic mờ 34 2.3.1 Khái niệm logic mờ 35 2.3.2 Biểu thức giá trị mờ 36 2.3.3 Quy tắc suy luận mờ giá trị quy tắc suy luận mờ 39 2.4 Mạng TSK (Takaga - Sugeno- Kang) 41 2.4.1 Mơ hình mạng TSK 41 2.4.1.1 Các luật suy luận TSK 41 2.4.1.2 Cấu trúc chung mạng TSK 43 2.4.1.3 Cải tiến cấu trúc kinh điển thuật toán xây dựng mạng TSK 45 2.4.2 Khởi tạo tự động quy tắc suy luận mờ, thuật toán Gustafson – Kessel 50 2.4.3 Xác định số lượng nhóm thơng qua việc phối hợp số thống kê 52 2.4.4 Đặt giá trị ban đầu cho hàm suy luận 56 2.4.5 Kết thử nghiệm 57 Kết luận chương II 71 Chương III: Thuật toán xử lý ảnh ứng dụng tạo vectơ đặc tính phân loại gạch ốp lát 74 3.1 Mơ hình bước xử lý ảnh 74 3.2 Tiền xử lý ảnh 76 3.2.1 Khoanh vùng đối tượng 76 3.2.1.1 Phát biên 76 3.2.1.2 Xoay chuẩn đối tượng 81 3.2.1.3 Tịnh tiến ảnh 83 3.2.2 Chuẩn kích thước độ sáng 86 3.2.2.1 Chuẩn kích thước 86 3.2.2.2 Chuẩn độ sáng 86 3.3 Phân tích trích chọn vectơ đặc tính đối tượng 89 3.3.1 Phân tích đặc tính sứt góc mẻ cạnh 87 3.3.1.1 Mẻ cạnh 87 3.3.1.2 Sứt góc: 89 3.3.2 Phân tích đặc tính sai lệch kích thước 93 3.3.3 Phân tích đặc tính vết sạn vết xước 93 Kết luận chương III 100 Chương IV: Kết tính tốn mơ 102 4.1 Kết tính tốn mơ hàm phi tuyến 102 4.2 Kết ứng dụng mơ hình nhận dạng phân loại gạch ốp lát 113 4.3 Mơ hình phần cứng 117 Kết luận chương IV 121 Kết luận kiến nghị……………………………………… .122 Những đóng góp luận án 122 Đề xuất, kiến nghị hướng nghiên cứu 123 Danh mục công trình tác giả 125 Tài liệu tham khảo 126 Phụ lục 135 DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT KCS: Kiểm tra chất lượng sản phẩm DN: Distance-based cluster validity Normalized index G-K: Gustafson-Kessel PBM: Pakhira – Bandyopadhyay - Moulik MLP: Multi Layer Perceptron TSK: Takaga-Sugeno-Kang SOM: Self Organizing Map SVD: Singuler Value Decomposition DANH MỤC CÁC BẢNG Bảng 4.1 Kết kiểm tra mạng TSK với số nhóm khác 105 DANH MỤC CÁC HÌNH VẼ ĐỒ THỊ Hình 1.1 Mơ hình tổng qt hệ thống nhận dạng phân loại…………….16 Hình 1.2 Mơ hình tổng qt khối hệ thống 17 Hình 1.3 Phổ màu ảnh số sử dụng nhận dạng hoa theo màu sắc 19 Hình 1.4 Một số sản phẩm ứng dụng thực tế nhận dạng vân tay 20 Hình 1.5 Quản lý xe lưu thông với chức tự động nhận dạng biển số 21 Hình 1.6 Sơ đồ quy trình cơng nghệ sản xuất gạch ốp lát 23 Hinh 1.7 Công nhân phân loại chất lượng sản phẩm 24 Hình 1.8 Mơ hình hệ thống phân loại tự động 25 Hình 2.1a Mạng nơ rơn lớp 27 Hình 2.1b Mạng nơ rôn nhiều lớp 28 Hình 2.2 Quá trình dịch chuyển trọng tâm 30 Hình 2.3 Mơ hình tốn học nơ rơn: mơ hình đầy đủ (a) rút gọn (b) 32 Hình 2.4 Cấu trúc mạng MLP với lớp ẩn 33 Hình 2.5 Hàm liên thuộc biểu thức mờ x A 36 Hình 2.6 Hàm liên thuộc hình chuông biểu thức mờ x » A 37 Hình 2.7 Hàm liên thuộc biểu thức mờ x>>A 38 Hình 2.8a Hình dạng hàm liên thuộc 3 x với ba độ mở khác 40 Hình 2.8b Hình dạng hàm liên thuộc 3 x với giá trị khác hệ số b 40 Hình 2.9 Đồ thị hệ thống gồm có quy tắc mờ 41 Hình 2.10 Mơ hình hệ nhiều luật 43 Hình 2.11a Cấu trúc mạng TSK kinh điển 44 Hình 2.11b Cấu trúc mạng TSK cải tiến 47 Hinh 2.12 Phân bố nhóm liệu thuật tốn G-K 52 Hình 2.13 Tập số liệu mẫu phân bố mặt phẳng 60 Hình 2.14 Biểu đồ biến thiên theo số Vh 60 Hình 2.15 Biểu đồ biến thiên theo số DA 61 Hình 2.16 Biểu đồ biến thiên theo số Dw 60 Hình 2.17 Biểu đồ biến thiên theo số tA 62 Hình 2.18 Biểu đồ biến thiên theo số PBM 61 Hình 2.19 Biểu đồ biến thiên theo số DN 62 Hình 2.20 Biểu đồ biến thiên theo số tổng hợp 63 Hình 2.21 Phân chia tập số liệu mẫu theo nhóm 64 Hình 2.22 Tập số liệu mẫu với nhóm số liệu 64 Hình 2.23 Giá trị số Vh (a), DA (b), DW (c), tA (d), PBM (e) DN (f) 66 Hình 2.24 Sự biến thiên số tổng hợp phối hợp số khác nhau: Phối hợp số số (a) phối hợp số (b) 66 Hình 2.25 Bộ số liệu ứng với số trọng tâm (a) trọng tâm (b) 67 Hình 2.26 Tập số liệu mẫu với nhóm số liệu 67 Hình 2.27 Giá trị số thống kê Vh(a), DA(b), DW(c), tA(d), PBM (e),DN(f) 71 Hình 2.28 Sự biến thiên số tổng hợp phối hợp số khác nhau: Phối hợp số (a) phối hợp số (b) 71 Hình 2.29 Phân bố trọng tâm cho số liệu hình 2.26 70 Hình 3.1 Sơ đồ khối mơ hình nhiệm vụ 76 Hình 3.2 Ảnh gốc đối tượng 77 Hình 3.3 Ảnh gốc chuyển dạng xám 77 Hình 3.4 Đồ thị mơ tả mức xám hàng ma trận ảnh 77 Hình 3.5 Đồ thị giá trị ngưỡng tối ưu 80 Hình 3.6 Khung đối tượng tách 81 Hình 3.7 Đường thẳng xấp xỉ theo cạnh biên 80 Hình 3.8 Khung đối tượng xấp xỉ cạnh dạng đường thẳng 81 Hình 3.9 Ảnh đối tượng bo khung 81 Hình 3.10 Đối tượng dạng ảnh đen trắng 85 Hình 3.11 Ảnh sau lọc khỏi 85 Hình 3.12 Vị trí vùng chọn để chuẩn sáng 85 Hình 3.13 Ảnh mẫu lược đồ histogram 85 Hình 3.14 Ảnh chụp điều kiện ánh sáng lược đồ histogram 86 Hình 3.15 Ảnh hiệu chỉnh ánh sáng lược đồ histogram 86 Hình 3.16 Cạnh gạch bị mẻ 87 Hình 3.17 Đồ thị mức xám thay đổi vị trí có vết mẻ 90 Hình 3.18 Vết mẻ cạnh lọc theo phương pháp phân ngưỡng 90 Hình 3.19 Đường thẳng xấp xỉ qua cạnh 91 Hình 3.20 Đồ thị sai lệch cạnh có vết mẻ so với đường thẳng xấp xỉ 91 Hình 3.21 Hình ảnh gạch có góc sứt 90 Hình 3.22 Đồ thị vết sứt góc theo trục x 90 Hình 3.23 Đồ thị vết sứt góc theo trục y 91 Hình 3.24 Hình ảnh đối tượng có vết sạn vết xước 94 Hình 3.25 Đồ thị mức xám qua vị trí có vết sạn 94 Hình 3.26 Hình ảnh mẫu gạch có vết sạn xước 98 Hình 3.27 Các lỗi lại sau lọc bỏ thành phần hoa văn 98 Hình 4.1 Hàm mẫu 3-D hàm phi tuyến 102 Hình 4.2 Biểu đồ biến thiên số thống kê 104 Hình 4.3 Biểu đồ số tổng hợp biến thiên theo số trọng tâm mẫu105 Hình 4.4 Kết tái tạo ánh xạ phi tuyến hàm gốc 106 Hình 4.5 Sai số đầu mạng giá trị gốc 107 Hình 4.6 Điều chỉnh thích nghi thơng số ci 108 Hình 4.7 Điều chỉnh thích nghi thơng số 109 Hình 4.8 Điều chỉnh thích nghi thông số bi 110 Hình 4.9 Mẫu hàm phi tuyến gốc ban đầu 111 Hình 4.10 Biểu đồ số tổng hợp biến thiên theo số trọng tâm mẫu .112 Hình 4.11 Hàm kết sau học 113 Hình 4.12 Sai số số liệu kiểm tra 113 157 ind=find(tmp>0.05*mean(tmp)); [p3,q3]=Line_Reg(tren(1,ind),tren(2,ind)); tmp=duoi(2,:); ind=find(tmp>0.05*mean(tmp)); [p4,q4]=Line_Reg(duoi(1,ind),duoi(2,ind)); p_ngang=(p3+p4)/2; p_quay=(p_ngang-p_doc)/2; aaa=imrotate(aa,atan(p_quay)/pi*180,'bicubic'); [trai,phai,tren,duoi]=extra_frame(aaa); [FourConerBreaks, FourMiddleBreaks]=ProcessFourEdges(trai(1,:),phai(1,:),tren(2,:),duoi(2,:)); [p1,q1]=Line_Reg(phai(2,:),phai(1,:)); [p2,q2]=Line_Reg(trai(2,:),trai(1,:)); tmp=tren(2,:); ind=find(tmp>0.05*mean(tmp)); [p3,q3]=Line_Reg(tren(1,ind),tren(2,ind)); tmp=duoi(2,:); ind=find(tmp>0.05*mean(tmp)); [p4,q4]=Line_Reg(duoi(1,ind),duoi(2,ind)); % he so goc: Trai-Tren, Phai-Tren, Phai-Duoi, Trai-Duoi FourConerAngles=[p2+p3 p1+p3 p1+p4 p2+p4]; FourEdgeLengths=[length(trai) length(phai) length(tren) length(duoi)] aaaa=aaa(floor(q4):ceil(q3),floor(q2):ceil(q1)); Count=ScratchCount(aaaa) function[FourConerBreaks,FourMiddleBreaks]=ProcessFourEdges(trai,phai,tr en,duoi) [LeftBreakT, MiddleBreakT, RightBreakT]=ProcessAnEdge(trai); 158 [LeftBreakP, MiddleBreakP, RightBreakP]=ProcessAnEdge(phai); [LeftBreakTr, MiddleBreakTr, RightBreakTr]=ProcessAnEdge(tren); [LeftBreakD, MiddleBreakD, RightBreakD]=ProcessAnEdge(duoi); % me goc: Trai-Tren, Phai-Tren, Phai-Duoi, Trai-Duoi FourConerBreaks=[(LeftBreakT+LeftBreakTr)/2, (RightBreakTr+LeftBreakP)/2,(RightBreakP+RightBreakD)/2,(RightBreakT+ LeftBreakD)/2]; % me canh: Trai, Phai, Tren, Duoi FourMiddleBreaks=[MiddleBreakT,MiddleBreakP,MiddleBreakTr,MiddleBr eakD]; 10 function [res,blad]=tsk_test3(X,D,C,A,B,Xikma,PP) P=size(X,1); N=size(X,2); M=size(C,1); K=size(D,2); W=zeros(M,1); F=zeros(K,M); Y=zeros(1,K); res=zeros(P,2*K+1); res(:,1)=(1:P)'; res(:,2:K+1)=D; dXC=zeros(M,1); for l=1:P x=X(l,:); for k=1:M SI=A(:,:,k); dXC(k)=sqrt(abs((x-C(k,:))*SI*(x-C(k,:))')); 159 W(k,:)=1/(1+(dXC(k)/Xikma(k))^(2*B(k,:))); end; for k=1:K PF=PP(:,:,k); F(k,:)=(W.*(PF*[x';1]))'; Y(k)=sum(F(k,:)); end; res(l,K+2:2*K+1)=Y; end; blad=sum(sum((res(:,K+2:2*K+1)-res(:,2:K+1)).^2)) 11 %Ham cat anh vung lan can goc %Muc dich phan tich dac tinh lien quan toi goc %Dau vao: Toa goc %Dau ra: Anh a cat theo lan can goc function [mx, my]=extract_conner(b,x,y,dx,dy) goc=[x,y]; bb=b(round(goc(2)-dx):round(goc(2)+dy),round(goc(1)dy):round(goc(1)+dx)); %Theo truc x [m1,n1]=size(bb); goc_trai=zeros(m1,1); for i=1:m1 tmp1=max(find(bb(i,:)>170)); if (isempty(tmp1)) tmp1=200; end; goc_trai(i)=tmp1; end 160 figure;plot(goc_trai); x_g=1:m1; y_g=goc_trai(x_g); figure;plot(x_g,y_g); plot(x2,x2*a2+b2,x_g,y_g); goc_duoi=zeros(1,n1); for j=1:n1 tmp1=min(find(bb(:,j)>170)); if (isempty(tmp1)) tmp1=200; end; goc_duoi(j)=tmp1; end figure;plot(goc_duoi); 12 function [C,A,M]=gus_min(x,M_max) % he so dieu chinh mo m m=2.; % so luong mau P P=size(x,1); % so chieu dau vao N N=size(x,2); Vhall=[];DAall=[];DWall=[];tAall=[];Eall=[];t=[]; [DD2,dd]=pre_substr(x); for M=2:M_max U=zeros(M,P); C=zeros(M,N); oldC=C; D2=zeros(M,P); 161 A=zeros(N,N,M); for i=1:M A(:,:,i)=eye(N); end; newE=0; C=substr(x,M,DD2,dd); C=C+1e-5*ones(size(C)); for i=1:M SI=zeros(N,N); SI2=A(:,:,i); tmp=ones(P,1)*C(i,:)-x; tmp2=tmp*SI2; for j=1:P D2(i,j)=tmp2(j,:)*tmp(j,:)'; end; end for j=1:P tmp=0; for k=1:M if (D2(k,j)==0) U(k,j)=1; tmp=0; break; else tmp=tmp+1/(D2(k,j)^(1/(m-1))); end; end; if (tmp==0) break; end; for i=1:M U(i,j)=1/(D2(i,j)^(1/(m-1)))/tmp; end end Um=U.^m; 162 oldC=C; E=sum(sum(Um.*D2)); %blad iteracji stop=0; while (stop==0) C=Um*x./(sum(Um')'*ones(1,N)); newE=0; for i=1:M SI=zeros(N,N); SI2=A(:,:,i); tmp=ones(P,1)*C(i,:)-x; tmp2=tmp*SI2; for j=1:P D2(i,j)=tmp2(j,:)*tmp(j,:)'; end; newE=sum(sum(Um.*D2)); SI=((ones(N,1)*Um(i,:)).*tmp')*tmp; A(:,:,i)=((det(SI))^(1/N))*inv(SI); end % newE for j=1:P tmp=0; for k=1:M if (D2(k,j)==0) U(k,j)=1; tmp=0; break; else tmp=tmp+1/(D2(k,j)^(1/(m-1))); end; end; if (tmp==0) break; end; 163 U(:,j)=1./(D2(:,j).^(1/(m-1)))./tmp; end Um=U.^m; oldC=C; if (newE