Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 177 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
177
Dung lượng
6,35 MB
Nội dung
Luận văn Thạc sĩ kỹ thuật chuyên ngành Kỹ thuật điều khiển tự động hóa LỜI CAM ĐOAN Tôi xin cam đoan: - Đây công trình nghiên cứu thực - Kết nghiên cứu luận văn trung thực chưa sử dụng để công bố Người thực luận văn Nguyễn Anh Dũng Luận văn Thạc sĩ kỹ thuật chuyên ngành Kỹ thuật điều khiển tự động hóa MỤC LỤC LỜI CAM ĐOAN DANH MỤC HÌNH ẢNH DANH MỤC BẢNG BIỂU DANH MỤC KÝ HIỆU VÀ VIẾT TẮT 10 CHƯƠNG 1: GIỚI THIỆU CHUNG VỀ ẢNH SỐ VÀ CÁC LỆNH XỬ LÝ ẢNH CỦA MATLAB 13 1.1 Giới thiệu ảnh số: 13 1.1.1 Các khái niệm ảnh số: 13 1.1.2 Phân loại ảnh số MATLAB 14 1.1.3 Các bước xử lý ảnh 16 1.2 Các lệnh xử lý ảnh MATLAB 19 1.2.1 Hàm đọc liệu ảnh: imread 19 1.2.2 Hàm ghi liệu ảnh: imwrite 19 1.2.3 Hàm hiển thị ảnh: imshow 20 1.2.4 Hàm thay đổi kích thước ảnh: imresize 20 1.2.5 Hàm cắt ảnh: imcrop 20 1.2.6 Các hàm chuyển đổi kiểu ảnh: 21 CHƯƠNG 2: CÁC PHƯƠNG PHÁP NHẬN DẠNG KHUÔN MẶT 22 2.1 Các phương pháp nhận dạng khuôn mặt 22 2.1.1 Hướng tiếp cận dựa tri thức 23 2.1.2 Hướng tiếp cận dựa đặc trưng không thay đổi 24 2.1.3 Hướng tiếp cận dựa so khớp mẫu 29 2.1.4 Hướng tiếp cận dựa diện mạo 30 2.2 Lợi ích khó khăn toán nhận dạng khuôn mặt 31 2.2.1 Lợi ích 31 2.2.2 Khó khăn, thử thách: 32 Luận văn Thạc sĩ kỹ thuật chuyên ngành Kỹ thuật điều khiển tự động hóa CHƯƠNG 3: PHÁT HIỆN KHUÔN MẶT DÙNG THUẬT TOÁN VIOLA – JONES 34 3.1 Khái quát thuật toán Viola - Jones 34 3.1.1 Cơ sở lý thuyết đặc trưng Haar 34 3.1.2 Phương pháp học máy AdaBoost 36 3.2 Ứng dụng thuật toán Viola – Jones MATLAB: 40 3.2.1 Cấu trúc câu lệnh: 40 3.2.2 Các bước để dò tìm đối tượng : 40 3.2.3 Các đặc tính 41 CHƯƠNG 4: NHẬN DẠNG KHUÔN MẶT DÙNG THUẬT TOÁN PCA (PRINCIPAL COMPONENT ANALYSIS) 46 4.1 Khái quát thuật toán PCA 46 4.2 Ứng dụng thuật toán PCA vào nhận dạng khuôn mặt 47 4.2.1 Thuật toán PCA: 47 4.2.2 Tính toán EigenFaces 49 4.2.3 Biểu diễn tập huấn luyện ảnh vào không gian vector 55 4.3 Ứng dụng Eigenfaces việc nhận dạng khuôn mặt 59 4.4 Ưu, nhược điểm: 62 4.4.1 Ưu điểm: 62 4.4.2 Nhược điểm: 63 CHƯƠNG 5: THIẾT KẾ HỆ THỐNG AN NINH ỨNG DỤNG NHẬN DẠNG KHUÔN MẶT 64 5.1 Giới thiệu Công ty TNHH ASEL Việt Nam 64 5.2 Giải pháp nhà thông minh hãng Crestron 64 5.2.1 Bộ điều khiển DIN-AP2 67 5.2.2 Bộ đóng cắt DIN-8SW8 70 5.2.3 Bộ cấp nguồn hệ thống DIN-PWS50 72 Luận văn Thạc sĩ kỹ thuật chuyên ngành Kỹ thuật điều khiển tự động hóa 5.2.4 Các phần mềm lập trình Crestron 72 5.2.5 Lập trình hệ thống Crestron 76 5.3 Bộ chuyển đổi USB/RS232 81 5.3.1 Lý thiết kế: 81 5.3.2 Phần mềm thiết kế mạch in Allegro 81 5.3.3 Cấu trúc IC CP2102 82 5.3.4 Cấu trúc chip TR232E 84 5.3.5 Thiết kế mạch in 85 5.4 Bộ nhắn tin điện thoại di động GSM/GPRS SAM2W 89 5.5 Thiết kế hệ thống an ninh ứng dụng nhận dạng khuôn mặt 90 5.5.1 Thiết kế hệ thống: 90 5.5.2 Chương trình mô 91 CHƯƠNG 6: KẾT LUẬN VÀ KIẾN NGHỊ 108 6.1 Kết luận 108 6.2 Kiến nghị 108 TÀI LIỆU THAM KHẢO 109 PHỤ LỤC 110 Luận văn Thạc sĩ kỹ thuật chuyên ngành Kỹ thuật điều khiển tự động hóa DANH MỤC HÌNH ẢNH Hình 2.1: Một mẫu khuôn mặt, có 16 vùng 23 quan hệ Hình 3.1: Các đặc trưng Haar thường dùng Hình 3.2: Ảnh tích hợp Hình 3.3: Sơ đồ hệ thống nhận dạng khuôn mặt Hình 3.4: Hệ thống nhận dạng khuôn mặt Hình 3.5: Ảnh ban đầu ‘anhtest.jpg’ Hình 3.6: Ảnh kết qủa thu Hình 3.7: Ảnh phát phần thể ‘Upper Body’ Hình 4.1: Ý tưởng phương pháp PCA Hình 4.2: Mục tiêu phương pháp PCA Hình 4.3: Ảnh khuôn mặt tập huấn luyện Hình 4.4: Ví dụ đơn giản thể hình chiếu ảnh lên không gian mặt người Hình 4.5: Diễn giải hình học thuật toán PCA Hình 4.6: a)Những khuôn mặt dùng để huấn luyện ; b) ảnh trung bình ψ Hình 4.7: Bẩy Eigenfaces tính toán từ hình 4.6, phông loại bỏ Hình 5.1: Các chi nhánh Crestron Châu Á Luận văn Thạc sĩ kỹ thuật chuyên ngành Kỹ thuật điều khiển tự động hóa Hình 5.2: Sơ đồ tổng quan hệ thống nhà thông minh Crestron Hình 5.3: Bộ điều khiển DIN-AP2 Hình 5.4: Sơ đồ kết nối thiết bị với điều khiển DIN-AP2 Hình 5.5: Bộ đóng cắt thường DIN-8SW8 Hình 5.6: Kết nối tải với DIN-8SW8 Hình 5.7: Bộ cấp nguồn hệ thống DIN-PWS50 Hình 5.8: Giao diện phần mềm D3-Pro Hình 5.9: Giao diện phần mềm SIMPL Hình 5.10: Giao diện phần mềm VT-Pro Hình 5.11: Sơ đồ khối lập trình hệ thống nhà thông minh Hình 5.12: Sơ đồ khối lập trình phần mềm D3-Pro Hình 5.13: Quy trình khai báo thiết bị phần mềm D3-Pro Hình 5.14: Sơ đồ khối lập trình phần mềm SIMPL Hình 5.15: Giao diện điều khiển điện thoại Hình 5.16: Giao diện phần mềm Allegro 16.6 Hình 5.17: Sơ đồ chân IC CP2102 Hình 5.18: Sơ đồ cấu trúc chip CP2102 Hình 5.19: Sơ đồ chân IC TR232E Luận văn Thạc sĩ kỹ thuật chuyên ngành Kỹ thuật điều khiển tự động hóa Hình 5.20: Sơ đồ cấu trúc chip TR232E Hình 5.21: Sơ đồ mạch nguyên lý chip CP2012 Hình 5.22: Sơ đồ mạch nguyên lý chip TR232 Hình 5.23: Sơ đồ mạch nối chân MicroUSB Hình 5.24: Sơ đồ mạch nối chân Connector Hình 5.25: Mặt mạch in Hình 5.26: Mặt mạch in Hình 5.27: Lớp in hình linh kiện mạch in Hình 5.28: Bộ chuyển đổi USB/RS232 hoàn thiện Hình 5.29: Bộ GSM/GPRS SAM2W Hình 5.30: Sơ đồ hệ thống an ninh ứng dụng nhận dạng khuôn mặt Hình 5.31: Lưu đồ giải thuật chương trình Hình 5.32: Lưu đồ giải thuật chương trình phát khuôn mặt Hình 5.33: Lưu đồ giải thuật chương trình nhận dạng khuôn mặt Hình 5.34: Lưu đồ thuật toán Viola - Jones Hình 5.35: Lưu đồ thuật toán PCA Hình 5.36: Lưu đồ giải thuật chương trình tra cứu liệu Hình 5.37: Lưu đồ giải thuật chương trình đưa thông báo Luận văn Thạc sĩ kỹ thuật chuyên ngành Kỹ thuật điều khiển tự động hóa Hình 5.38: Giao diện chương trình Hình 5.39: Giao diện chương trình kết nối Camera Hình 5.40: Kết qủa dò tìm nhận dangj1 khuôn mặt Hình 5.41: Kết qủa dò tìm nhận dạng khuôn mặt Hình 5.42: Giao diện cập nhập thông tin đối tượng Hình 5.43: Giao diện đăng nhập để vào trang tra cứu Hình 5.44: Giao diện Tra cứu thông tin Hình 5.45: Giao diện bảng thông báo Hình 5.46: Sơ đồ tủ điện hoàn thành Hình 5.47: Mô hình mô hệ thống an ninh P2.1: Khai báo tải sử dụng phần mềm D3-Pro P2.2: Khai báo thiết bị điều khiển D3-Pro P2.3: Kết nối chương trình D3-Pro với VT-Pro P2.4: Lập trình phím bấm Xpanel P2.5: Khai báo thiết bị điều khiển phàn mềm SIMPL P2.6: Kết nối tín hiệu điều khiển điện thoại vào hệ thống Luận văn Thạc sĩ kỹ thuật chuyên ngành Kỹ thuật điều khiển tự động hóa DANH MỤC BẢNG BIỂU Bảng 3.1: Bảng phân loại mô hình Bảng 3.2: Mô tả chức ngưỡng phát Bảng 5.1: Bảng cấu trúc chân CP2012 Bảng 5.2: Danh sách linh kiện lựa chọn Bảng 5.3: Câu lệnh AT command Luận văn Thạc sĩ kỹ thuật chuyên ngành Kỹ thuật điều khiển tự động hóa DANH MỤC KÝ HIỆU VÀ VIẾT TẮT IC INTERGRATED CIRCUIT ICA INDEPENDENT COMPONENT ANALYSIS MATLAB MATRIX LABORATORY MSE MEAN SQUARE ERROR PCA PRINCIPAL COMPONENT ANALYSIS RX RECEIVE, RECEIVE MODE TX TRANSMIT, TRANSMIT MODE 10 Luận văn Thạc sĩ kỹ thuật chuyên ngành Kỹ thuật điều khiển tự động hóa x.Visible = 0; % Visible = an, Visible = cho hien bang Excel len workbook = x.Workbooks.Open( file ); % Mo file Sheets = x.ActiveWorkBook.Sheets; Sheets.Item(1).Activate; s1=strcat('A2'); % goi o nho chua thông tin ho ten file EXCEL s2=strcat('B2'); % goi o nho chua thông tin quan he file EXCEL s3=strcat('C2'); % goi o nho chua thông tin mo ta file EXCEL x.Range(s1).Select; % Truy xuat thông tin cá nhân cua anh nhan dang flie thongtin.xls t1 = x.get('Selection').Value; x.Range(s2).Select; t2 = x.get('Selection').Value; x.Range(s3).Select; t3 = x.get('Selection').Value; set(handles.hoten,'string',t1); % hien thông tin ho ten cua tam anh nhan dang set(handles.quanhe,'string',t2); % hien thông tin quan he cua tam anh nhan dang set(handles.mota,'string',t3); % hien thông tin mo ta cua tam anh nhan dang cd / workbook.Close( false ); % Dong ung dung Excel x.Quit; delete(x); thongbaodanhandang; guimail; 163 Luận văn Thạc sĩ kỹ thuật chuyên ngành Kỹ thuật điều khiển tự động hóa tic;pause(1);toc; SMSblacklist; tic;pause(1);toc; SMSdeldata; tic;pause(3);toc; xoaanh; hiencamera; elseif vitri == %% Nguoi la % Kiem tra dang truy nhap vao nguoi nao sofile = fix(Vitrinl/9); if (Vitrinl > 0) && (Vitrinl sofile*9 sofile = fix(Vitrinl/9)+1; en d %% Truy suat thong tin cua nguoi duoc nhan dang cd(strcat('nguoila/s',num2str(sofile))); axes(handles.anhnhandang); imshow('1.jpg'); file = [pwd '\thongtin.xls']; % Xac dinh duong dan toi file Excel thongtin.xls range = 'A1:C2'; % Doc du lieu tu o A1 den o C2 x = actxserver('Excel.Application'); % Khoi tao ung dung Excel 164 Luận văn Thạc sĩ kỹ thuật chuyên ngành Kỹ thuật điều khiển tự động hóa x.Visible = 0; % Visible = an, Visible = cho hien bang Excel len workbook = x.Workbooks.Open( file ); % Mo file Sheets = x.ActiveWorkBook.Sheets; Sheets.Item(1).Activate; s1=strcat('A2'); % goi o nho chua thông tin ho ten file EXCEL s2=strcat('B2'); % goi o nho chua thông tin quan he file EXCEL s3=strcat('C2'); % goi o nho chua thông tin mo ta file EXCEL x.Range(s1).Select; % Truy xuat thông tin cá nhân cua anh nhan dang flie thongtin.xls t1 = x.get('Selection').Value; x.Range(s2).Select; t2 = x.get('Selection').Value; x.Range(s3).Select; t3 = x.get('Selection').Value; set(handles.hoten,'string',t1); % hien thông tin ho ten cua tam anh nhan dang set(handles.quanhe,'string',t2); % hien thông tin quan he cua tam anh nhan dang set(handles.mota,'string',t3); % hien thông tin mo ta cua tam anh nhan dang cd / workbook.Close( false ); % Dong ung dung Excel x.Quit; delete(x); thongbaodanhandang; tic;pause(1);toc; 165 Luận văn Thạc sĩ kỹ thuật chuyên ngành Kỹ thuật điều khiển tự động hóa SMSnguoila; tic;pause(1);toc; SMSdeldata; tic;pause(3);toc; xoaanh; hiencamera; en d en d %% Dua thong bao neu khong nhan dang duoc if (Khoangcachkq>=5.0e+15) && (Khoangcachgd>=5.0e+15) && (Khoangcachbb>=5.0e+15) && (Khoangcachbl>=5.0e+15) && (Khoangcachnl>=5.0e+15) axes(handles.anhnhandang); imshow('chuabiet.jpg'); set(handles.hoten,'string','Unknown'); set(handles.quanhe,'string','Unknown'); set(handles.mota,'string','Unknown'); dichuyenfileanhchup; thongbaochuanhandang; tic;pause(3);toc; xoaanh; tic;pause(1);toc; hiencamera; en d end 166 Luận văn Thạc sĩ kỹ thuật chuyên ngành Kỹ thuật điều khiển tự động hóa %% Chương trình huấn luyện kho liệu function T = TrainDatabase(TrainDatabasePath) no_folder=size(dir([TrainDatabasePath,'\*']),1)size(dir([TrainDatabasePath,'\*m']),1)-2; %%%%%%%%%%%%%%%%%%%%%%%% Construction of 2D matrix from 1D image vectors T = []; %disp('Loading Faces'); for i = : no_folder stk = int2str(i); %disp(stk); stk = strcat('\s',stk,'\*pgm'); folder_content = dir ([TrainDatabasePath,stk]); nface = size (folder_content,1); %disp(nface); fo r j = : n f a c e % I have chosen the name of each image in databases as a corresponding % number However, it is not mandatory! str = int2str(j); str = strcat('\',str,'.pgm'); str = strcat('\s',int2str(i),str); str = strcat(TrainDatabasePath,str); img = imread(str); %img = rgb2gray(img); 167 Luận văn Thạc sĩ kỹ thuật chuyên ngành Kỹ thuật điều khiển tự động hóa [irow icol] = size(img); temp = reshape(img',irow*icol,1); % Reshaping 2D images into 1D image vectors T = [T temp]; % 'T' grows after each turn end end %% Chương trình tính toán EigenFaces function [m, A, Eigenfaces] = EigenfaceCore(T) m = mean(T,2); % Computing the average face image m = (1/P)*sum(Tj's) (j = : P) Train_Number = size(T,2); %%%%%%%%%%%%%%%%%%%%%%%% Calculating the deviation of each image from mean image A = []; for i = : Train_Number temp = double(T(:,i)) - m; % Computing the difference image for each image in the training set Ai = Ti - m A = [A temp]; % Merging all centered images end 168 Luận văn Thạc sĩ kỹ thuật chuyên ngành Kỹ thuật điều khiển tự động hóa %%%%%%%%%%%%%%%%%%%%%%%% Snapshot method of Eigenface methos L = A'*A; % L is the surrogate of covariance matrix C=A*A' [V D] = eig(L); % Diagonal elements of D are the eigenvalues for both L=A'*A and C=A*A' L_eig_vec = []; for i = : size(V,2) if( D(i,i)>1 ) L_eig_vec = [L_eig_vec V(:,i)]; en d end %%%%%%%%%%%%%%%%%%%%%%%% Calculating the eigenvectors of covariance matrix 'C' % Eigenvectors of covariance matrix C (or so-called "Eigenfaces") % can be recovered from L's eiegnvectors Eigenfaces = A * L_eig_vec; % A: centered image vectors end %% Chương trình tính toán khoảng cách ảnh chụp với kho liệu có sẵn function [Khoangcach_min , Vitri]= Recognition(m, A, Eigenfaces,ac) 169 Luận văn Thạc sĩ kỹ thuật chuyên ngành Kỹ thuật điều khiển tự động hóa ProjectedImages = []; Train_Number = size(Eigenfaces,2); for i = : Train_Number temp = Eigenfaces'*A(:,i); % Projection of centered images into facespace ProjectedImages = [ProjectedImages temp]; end %%%%%%%%%%%%%%%%%%%%%%%% Extracting the PCA features from test image InputImage = imread(strcat('anhchup\s',num2str(ac),'\1.pgm')); temp = InputImage(:,:,1); [irow icol] = size(temp); InImage = reshape(temp',irow*icol,1); Difference = double(InImage)-m; % Centered test image ProjectedTestImage = Eigenfaces'*Difference; % Test image feature vector %%%%%%%%%%%%%%%%%%%%%%%% Calculating Euclidean distances % Euclidean distances between the projected test image and the projection % of all centered training images are calculated Test image is % supposed to have minimum distance with its corresponding image in the % training database Khoangcach = []; for i = : Train_Number 170 Luận văn Thạc sĩ kỹ thuật chuyên ngành Kỹ thuật điều khiển tự động hóa q = ProjectedImages(:,i); temp = ( norm( ProjectedTestImage - q ) )^2; Khoangcach = [Khoangcach temp]; end [Khoangcach_min , Vitri] = min(Khoangcach); en d %% Các chương trình khác %% Chương trình di chuyển file ảnh chụp sang file kết qủa hình ảnh khuôn mặt vừa chụp không nằm kho liệu có sẵn anhchup = size(dir('anhchup'),1) - 3; a = size(dir('ketqua'),1) - 2; movefile(strcat('anhchup/s',num2str(anhchup)),strcat('ketqua/s',num2str(a+1))); %% Chương trình gửi mail mail = 'testfacematlab@gmail.com'; password = 'anhdung88'; setpref('Internet','E_mail',mail); setpref('Internet','SMTP_Server','smtp.gmail.com'); setpref('Internet','SMTP_Username',mail); setpref('Internet','SMTP_Password',password); props = java.lang.System.getProperties; props.setProperty('mail.smtp.auth','true'); props.setProperty('mail.smtp.socketFactory.class','javax.net.ssl.SSLSocketFactor y'); props.setProperty('mail.smtp.socketFactory.port','465'); 171 Luận văn Thạc sĩ kỹ thuật chuyên ngành Kỹ thuật điều khiển tự động hóa sendmail('anhdung88.bk@gmail.com','Bao Dong! Co ke xau toi nha','Hay kiem tra camera lap tuc',{(strcat('blacklist/s',num2str(sofile),'/1.jpg'))}); %msgbox('Da gui thu xong!'); % Chương trình chuyển đổi ảnh màu thành ảnh đen trắng thay đổi kích thước ảnh anhchup = size(dir('anhchup'),1) - 3; if anhchup > for i = 1:anhchup cd(strcat('anhchup/s',num2str(i))); docanh = imread('1.jpg'); suakt = imresize(docanh,[112 112]); suakt = rgb2gray(suakt); imwrite(suakt,'1.pgm'); cd / en d else disp('khong co ai'); end %% Chương trình thông báo SMS có người Black list xuất s = serial('COM1'); fopen(s) fprintf(s,'bl') fclose(s) 172 Luận văn Thạc sĩ kỹ thuật chuyên ngành Kỹ thuật điều khiển tự động hóa % Chương trình thông báo SMS có người Người lạ xuất s = serial('COM1'); fopen(s) fprintf(s,'nl') fclose(s) %% Xóa ảnh trang nhận dạng tuần hoàn vòng nhận dang anhtrang=255; % tao anh trang xoa axes(handles.anhmat1); imshow(anhtrang); % hien anh trang lên ô anh axes(handles.anhmat2); imshow(anhtrang); axes(handles.anhmat3); imshow(anhtrang); axes(handles.anhmat4); imshow(anhtrang); axes(handles.anhnhandang); imshow(anhtrang); anhden = 0; axes(handles.camera); imshow(anhden); set(handles.hoten,'string',' '); % xóa dong du lieu thông tin nhan dang set(handles.quanhe,'string',' '); set(handles.mota,'string',' '); %% Xóa file kho ảnh chụp hết vòng nhận dạng cũ anhchup = size(dir('anhchup'),1) - 3; for i = 1:anhchup delete(strcat('anhchup\s',num2str(i),'\*')); rmdir(strcat('anhchup\s',num2str(i))); end 173 Luận văn Thạc sĩ kỹ thuật chuyên ngành Kỹ thuật điều khiển tự động hóa %% Chương trình thoát trang chủ selection = questdlg(('Ban co muon thoat chuong trinh khong?'), % Hiện bảng lựa chọn có thoát chương trình hay không? ('Exit'), % Tên bảng thoát chuong trình 'Có','Không','Có'); % Tạo nút nhấn "Có", "Không" if strcmp(selection,'Không') % Nếu chọn "Không" quay lại trang Home return; end % Nếu chọn "Có" thi thoát chương trình delete(handles.figure1) 174 Luận văn Thạc sĩ kỹ thuật chuyên ngành Kỹ thuật điều khiển tự động hóa Hình ảnh thao tác lập trình hệ thống nhà thông minh Crestron P2.1 Khai báo tải sử dụng phần mềm D3- Pro P2.2 Khai báo thiết bị điều khiển D3-Pro 175 Luận văn Thạc sĩ kỹ thuật chuyên ngành Kỹ thuật điều khiển tự động hóa P2.3 Kết nối chương trình D3-pro VT-pro P2.4 Lập trinh phím bấm Xpanel 176 Luận văn Thạc sĩ kỹ thuật chuyên ngành Kỹ thuật điều khiển tự động hóa P2.5 Khai báo thiết bị điều khiển phần mềm SIMPL P2.6 Kết nối tín hiệu điều khiển điện thoại vào hệ thống 177 ... DANH MỤC HÌNH ẢNH Hình 2.1: Một mẫu khuôn mặt, có 16 vùng 23 quan hệ Hình 3.1: Các đặc trưng Haar thường dùng Hình 3.2: Ảnh tích hợp Hình 3.3: Sơ đồ hệ thống nhận dạng khuôn mặt Hình 3.4: Hệ thống. .. 89 5.5 Thiết kế hệ thống an ninh ứng dụng nhận dạng khuôn mặt 90 5.5.1 Thiết kế hệ thống: 90 5.5.2 Chương trình mô 91 CHƯƠNG 6: KẾT LUẬN VÀ KIẾN NGHỊ 108 6.1 Kết luận... - Nhận dạng theo cấu trúc Một số đối tượng nhận dạng phổ biến áp dụng khoa học công nghệ là: nhận dạng ký tự (chữ in, chữ viết tay, chữ ký điện tử), nhận dạng văn (Text), nhận dạng vân tay, nhận