PHÁT HIỆN đối TƯỢNG TRONG ẢNH sử DỤNG PHƯƠNG PHÁP MACHINE LEARNING (có code)
ĐỒ ÁN TỐT NGHIỆP PHÁT HIỆN ĐỐI TƯỢNG TRONG ẢNH SỬ DỤNG PHƯƠNG PHÁP MACHINE LEARNING MỤC LỤC DANH MỤC CÁC HÌNH VẼ IV DANH MỤC CÁC BẢNG BIỂU .VI DANH MỤC CÁC TỪ VIẾT TẮT VII CHƯƠNG GIỚI THIỆU VỀ ĐỀ TÀI 1.1 GIỚI THIỆU 1.2 YÊU CẦU CỦA ĐỀ TÀI .1 1.3 HƯỚNG GIẢI QUYẾT CHƯƠNG LÝ THUYẾT LIÊN QUAN .3 2.1 MACHINE LEARNING 2.1.1 Machine learning 2.1.2 Các thuật toán machine learning 2.2 ẢNH SỐ .9 CHƯƠNG PHÁT HIỆN ĐỐI TƯỢNG DÙNG PHƯƠNG PHÁP MACHINE LEARNING 12 3.1 ĐẶC TRƯNG HAAR LIKE VÀ BỘ PHÂN LOẠI ADABOOST 12 3.1.1 Đặc trưng Haar Like 12 3.1.2 Bộ phân loại Adaboost 14 3.2 PHÂN TÍCH THÀNH PHẦN CHÍNH PCA (PRINCIPAL COMPONENT ANALYSIS) 16 3.2.1 Các khái niệm 17 3.2.2 Các bước thực Principal Component Analysis 20 3.3 NHẬN DẠNG ĐỐI TƯỢNG 23 3.4 PHÂN TÍCH THÀNH PHẦN ĐỘC LÂP ICA (INDEPENDENT COMPONENT ANALYSIS) 24 CHƯƠNG KẾT QUẢ MÔ PHỎNG 26 4.1 MATLAB .26 4.2 SƠ ĐỒ HOẠT ĐỘNG CHUNG .28 4.3 XÁC ĐỊNH VỊ TRÍ ĐỐI TƯỢNG 28 4.4 TẠO CƠ SỞ DỮ LIỆU 29 4.5 NHẬN DẠNG ĐỐI TƯỢNG 30 4.6 KẾT QUẢ 31 CHƯƠNG KẾT LUẬN 35 5.1 NHẬN XÉT 35 5.2 KẾT LUẬN .35 5.3 HƯỚNG PHÁT TRIỂN .35 TÀI LIỆU THAM KHẢO 36 PHỤ LỤC 37 DANH MỤC CÁC HÌNH V HÌNH 2-1: ỨNG DỤNG SIRI TRÊN IPHONE CỦA APPLE HÌNH 2-2: XE TỰ HÀNH CỦA GOOGLE HÌNH 2-3: MÁY CHƠI CỜ VÂY CỦA ALPHAGO VỚI LEE SEDOL HÌNH 2-4: ỨNG DỤNG GỢI Ý PHIM TRÊN NETFLIX HÌNH 2-5: ỨNG DỤNG TAG KHN MẶT TRÊN FACEBOOK HÌNH 2-6: TRÍ TUỆ NHÂN TẠO AI, MACHINE LEARNING VÀ DEEP LEARNING HÌNH 2-7: ĐIỂM ẢNH (PIXEL) .10 HÌNH 2-8: ẢNH TRẮNG ĐEN VÀ ẢNH XÁM 11 HÌNH 2-9: ẢNH MÀU 11 Y HÌNH 3-1: ĐẶC TRƯNG CƠ BẢN CỦA HAAR LIKE 12 HÌNH 3-2: CÁC ĐẶC TRƯNG MỞ RỘNG .12 HÌNH 3-3: CÁCH TÌM INTEGRAL IMAGE CỦA ẢNH 13 HÌNH 3-4: XÁC ĐỊNH MỨC XÁM TẠI VÙNG S 13 HÌNH 3-5: MƠ HÌNH PHÂN TẦNG KẾT HỢP VỚI BỘ PHẬN LOẠI 14 HÌNH 3-6: KẾT HỢP CÁC BỘ PHÂN LOẠI YẾU THÀNH BỘ PHÂN LOẠI MẠNH 15 HÌNH 3-7: MƠ HÌNH XÁC ĐỊNH VỊ TRÍ ĐỐI TƯỢNG .15 HÌNH 3-8: XÁC ĐỊNH VỊ TRÍ CỦA ĐỐI TƯỢNG (KHN MẶT) 16 HÌNH 3-9: CHUYỂN ĐỔI MA TRẬN NXN THÀNH N2X1 20 HÌNH 3-10: SỰ THAY ĐỔI KHÔNG GIANC CỦA DỮ LIỆU .25 HÌNH 4-1: MATLAB 26 HÌNH 4-2: GIAO DIỆN MATLAB KHI CHẠY ỨNG DỤNG 27 HÌNH 4-3: GIAO DIỆN THIẾT KẾ TRÊN GUI 27 HÌNH 4-4: SƠ ĐỒ HOẠT ĐỘNG CHUNG 28 HÌNH 4-5: XÁC ĐỊNH VỊ TRÍ CỦA ĐỐI TƯỢNG 28 HÌNH 4-6: TẠO CƠ SỞ DỮ LIỆU 29 HÌNH 4-7: NHẬN DẠNG ĐỐI TƯỢNG 30 HÌNH 4-8: XÁC ĐỊNH VỊ TRÍ ĐỐI TƯỢNG 31 HÌNH 4-9:TÁCH TỪNG ĐỐI TƯỢNG RA KHỎI ẢNH BAN ĐẦU 31 HÌNH 4-10: CHỌN ĐỐI TƯỢNG VÀ NHẬN DẠNG 32 HÌNH 4-11: NHẬN DẠNG ĐƯỢC ĐỐI TƯỢNG .32 HÌNH 4-12: PHÁT HIỆN ĐỐI TƯỢNG LỖI 33 HÌNH 4-13: PHÁT HIỆN ĐỐI TƯỢNG KHÔNG MONG MUỐN 33 HÌNH 4-14: KHƠNG XÁC ĐỊNH ĐƯỢC ĐỐI TƯỢNG KHI NGHIÊNG SANG TRÁI 34 HÌNH 4-15: KHƠNG XÁC ĐỊNH KHI NGHIÊNG SANG PHẢI 34 DANH MỤC CÁC BẢNG BIỂU BẢNG 4-1: BẢNG SỐ LIỆU THỐNG KÊ 34 DANH MỤC CÁC TỪ VIẾT TẮT AI Artificial Intelligence GUI Graphical User Interface ICA Independent Component Analysis MATLAB PCA Matrix Laboratory Principal Component Analysis ĐỒ ÁN TỐT NGHIỆP Trang 1/44 CHƯƠNG GIỚI THIỆU VỀ ĐỀ TÀI 1.1 Giới thiệu Với tiến khoa học – kĩ thuật - cơng nghệ, thuật tốn khoa học máy tính cho phép người dùng máy móc thay cho việc tưởng chừng phức tạp thành đơn giản, việc đòi hỏi tốc độ xử lý nhanh mà mang lại hiệu cao Phát nhận dạng đối tượng ứng dụng tuyệt vời với giá trị mà mang lại Để tra thơng tin đối tượng, hàng để tìm phạm vi tìm kiếm nhỏ, tìm người phạm vi quốc gia sao, điều bất khả thi Nhưng với thuật toán để phát nhận dạng đối tượng (khuôn mặt người), vài phút lâu sở liệu lớn tính hiệu tốt Ứng dụng phát nhận dạng qua khuôn mặt xuất sản phẩm công nghệ điện thoại thông minh (smartphone) hay laptop để mở khóa hình, dùng điểm danh trường học, công ty 1.1 Yêu cầu đề tài Machine learning – phương pháp xu hướng nguyên cứu nhiều chuyên gia nhà nguyên cứu tìm hiểu nhiều năm qua, hàng loạt ứng dụng sử dụng machine learning áp dụng vào lĩnh vực đời sống xã hội bao gồm dịch vụ tài chính, chăm sóc sức khỏe, marketing sales, vận tải… Do đó, vấn đề tìm hiểu machine learning, tìm hiểu thuật tốn machine learning đề đề tài Áp dụng thuật toán mà machine learning mang lại để đơn giản hóa vấn đề phức tạp mang lại hiệu cao Phương pháp PCA cho có cách giải khơng đơn giản mà cịn mang hiệu Tìm hiểu thuật tốn PCA để giải vấn đề đặt Một ảnh bao gồm đối tượng, xác định ví trí đối tượng, tách đối tượng khỏi ảnh ban đầu xác định đặc trưng riêng Ảnh sử dụng ảnh màu Phát Hiện Đối Tượng Trong Ảnh Sử Dụng Phương Pháp Machine Learning ĐỒ ÁN TỐT NGHIỆP Trang 2/44 RGB, ảnh đầu vào (input) ảnh có chất lượng tốt, ảnh đầu (output) sau xác nhận đặc trưng giữ nguyên kích thước MATLAB – phần mềm sử dụng phổ biến nay, công cụ dùng để thực mô phỏng, đánh giá thực nghiệm, lựa chọn MATLAB để thực giải thuật phát nhận dạng đối tượng Xây dựng giải thuật để nhận dạng đối tượng ảnh đối tượng xây dựng sở liệu Sử dụng toolbox hổ trợ MATLAB như: image processing toolbox, computer vision toolbox… Thiết kế giao diện người dùng với phím chức mơ GUI MATLAB 1.2 Hướng giải Ảnh đầu vào thực phép biến đổi để phát đối tượng, xác định vị trí đối tượng, tách đối tượng thành phần riêng Trích xuất thành phần đặc trưng đối tượng thuật tốn Sau đó, xây dựng sở liệu cho tập ảnh để nhận dạng đối tượng Ảnh đầu thể thành phần từ thành phần đặc trưng ảnh vào, hiển thị số thông tin đối tượng MATLAB sử dụng làm công cụ hỗ trợ GUI dùng để thực q trình mơ Phát Hiện Đối Tượng Trong Ảnh Sử Dụng Phương Pháp Machine Learning ĐỒ ÁN TỐT NGHIỆP Trang 3/44 CHƯƠNG LÝ THUYẾT LIÊN QUAN 1.3 Machine learning 1.1.1 Machine learning Trong thời gian gần đây, AI - Artificial Intelligence (trí tuệ nhân tạo), cụ thể machine learning (học máy máy học) lên chứng cách mạng công nghiệp lần thứ tư (1 - động nước, - lượng điện, - công nghệ thơng tin) Trí tuệ thân tạo len lỏi vào lĩnh vực đời sống: xe tự hành Google Tesla, hệ thống tự tag đối tượng ảnh Facebook, trợ lý ảo Siri Apple, hệ thống gợi ý sản phẩm Amazon, hệ thống gợi ý phim Netflix, máy chơi cờ vây AlphaGo Google DeepMind… vài ứng dụng AI/Machine learning Hình 2-1: Ứng dụng Siri Iphone Apple Machine Learning tập AI - Artificial Intelligence (trí tuệ nhân tạo), nơi mà thuật tốn máy tính sử dụng để tự học từ liệu thông tin Trong machine learning, máy tính khơng cần phải lập trình cách rõ ràng tự thay đổi cải thiện thuật toán chúng Machine Phát Hiện Đối Tượng Trong Ảnh Sử Dụng Phương Pháp Machine Learning ĐỒ ÁN TỐT NGHIỆP Trang 30/44 Hình 4-8: Xác định vị trí đối tượng Hình 4-9:Tách đối tượng khỏi ảnh ban đầu Phát Hiện Đối Tượng Trong Ảnh Sử Dụng Phương Pháp Machine Learning ĐỒ ÁN TỐT NGHIỆP Trang 31/44 Hình 4-10: Chọn đối tượng nhận dạng Hình 4-11: Nhận dạng đối tượng Kết thu phép thử so với ảnh sở liệu sau: trường hợp thử với đối tượng bình thường tỷ lệ sai xảy chấp nhận Đây phép thử dễ tỷ lệ nhận dạng phải cao tốt Phát Hiện Đối Tượng Trong Ảnh Sử Dụng Phương Pháp Machine Learning ĐỒ ÁN TỐT NGHIỆP Trang 32/44 Hình 4-12: Phát đối tượng lỗi Hình 4-13: Phát đối tượng khơng mong muốn Kết trường hợp này, phát đối tượng trọng tâm, nhiên xác định đối tượng cần nhận dạng xác định đối tượng khơng mong muốn Phát Hiện Đối Tượng Trong Ảnh Sử Dụng Phương Pháp Machine Learning ĐỒ ÁN TỐT NGHIỆP Trang 33/44 Hình 4-14: Khơng xác định đối tượng nghiêng sang trái Hình 4-15: Khơng xác định nghiêng sang phải Trường hợp đối tượng quay góc 90 độ, có ảnh sở liệu việc nhận dạng xảy khơng có 100% khơng nhận dạng Bảng 4-1: Bảng số liệu thống kê Phát Hiện Đối Tượng Trong Ảnh Sử Dụng Phương Pháp Machine Learning ĐỒ ÁN TỐT NGHIỆP Trang 34/44 CHƯƠNG KẾT LUẬN 1.14 Nhận xét Chương trình thực theo yêu cầu tỷ lệ nhận dạng mức cao: phát đối tượng, tạo sở liệu, nhận dạng đối tượng Tuy nhiên, khả nhận dạng đối tượng chưa xác số trường hợp sau: góc quay, khoảng cách chụp, điều kiện ánh sáng, thay đổi đối tượng bị che khuất phần Ưu điểm: nhận biết nhanh, xác cao, thực nhanh, nhiều ảnh sở liệu việc nhận dạng đối tượng cao, giao diện mô thiết kế cho người dùng thân thiện, dể sử dụng Nhược điểm: cịn sai sót sở liệu nhỏ, khơng có chứa trường hợp khn mặt, phát số đối tượng ngồi ý muốn, cần nguồn sở liệu lớn muốn nhận dạng xác góc độ đối tượng 5.1 Kết luận Chương trình hoạt động ổn định, xác, yêu cầu đề Cần xây dựng hệ thống sở liệu lớn để việc nhận dạng đối tượng xác Chương trình tối ưu thuật tốn, chưa kết hợp với giải thuật khác để hệ thống trở nên thông minh 5.2 Hướng phát triển Sử dụng kết hợp nhiều giải thuật khác neural network (mạng thần kinh nhân tạo), deep learning (học sâu), phát nhận dạng đối tượng sử dụng phương pháp deep learning qua Open CV chất lượng nhận dạng tốt nhất, nhận dạng nhiều đối tượng khác nhau, nhận dạng đối tượng real time (thời gian thực) neural network sử dụng camera để ghi nhận đối tượng…Sử dụng vi điều khiển tự động hóa phần camera chụp ảnh nhận dạng đối tượng Thiết kế giao diện mô GUI trực quan để tối ưu cho người dùng Phát Hiện Đối Tượng Trong Ảnh Sử Dụng Phương Pháp Machine Learning ĐỒ ÁN TỐT NGHIỆP Trang 35/44 TÀI LIỆU THAM KHẢO Tiếng Việt: [1] Trịnh Minh Giang (2016), “Máy Học Hay Học Máy (Machine Learning) Và Các Mốc Phát Triển”, https://www.linkedin.com/pulse/ [2] Ngô Bắc Hải (2008), “Kỹ Thuật Lập Trình MATLAB Căn Bản”, http://www.ngohaibac.net [3] Vũ Hữu Tiệp (2016), “Machine Learning Cơ Bản”, https://machinelearningcoban.com Tiếng Anh: [4] Abdi H., & Williams L.J (2010), “Principal Component Analysis”, Wiley Interdisciplinary Reviews: Computational Statistics [5] Bishop C.M (2006),, “Pattern recognition and Machine Learning”, Springer, Chapter 12 [6] Chris Solomon (2011),Fundamentals Of Digital Image Processing, First Edition, John Wiley & Sons, Ltd., ISBN:978-0-470-84472-4 [7] Emmanuel J Candes; Xiaodong Li; Yi Ma; John Wright (2011) “Robust Principal Component Analysis?”, Journal of the ACM [8] Gonzalez (2010), “Digital Image Processing Using MATLAB” [9] Jonathon Shlens (2014) , “A Tutorial on Principal Component Analysis” [10] Jolliffe I.T (1986), “Principal Component Analysis”, Springer Verlag, p 487, doi:10.1007/b98835, ISBN 978-0-387-95442-4 [11] Jolliffe I.T (2002), “Principal Component Analysis”, second edition “Springer”, Chapter [12] MacKay D J C (2003), “Information Theory, Inference, and Learning Algorithms”, Cambridge University, ISBN 0-521-64298-1 Phát Hiện Đối Tượng Trong Ảnh Sử Dụng Phương Pháp Machine Learning ĐỒ ÁN TỐT NGHIỆP Trang 36/44 PHỤ LỤC function pushbutton1_Callback(hObject, eventdata, handles) cla(handles.axes1,'reset'); [filename, pathname] = uigetfile('*','LOAD AN IMAGE'); A=imread(fullfile(pathname, filename)); axes(handles.axes1), imshow(A); handles.fullname= A, guidata(hObject, handles); function pushbutton2_Callback(hObject, eventdata, handles) cla(handles.axes2,'reset'),A=handles.fullname,axes(handles.axes2), imshow(A), FaceDetect = vision.CascadeObjectDetectorBB = step(FaceDetect,A); y=size(BB,1); hold on for i=1:y a=rectangle('Position', [BB(i,1),BB(i,2),BB(i,3),BB(i,4)+15],'LineWidth',4,'LineStyle','-','EdgeColor','g'); end function pushbutton4_Callback(hObject, eventdata, handles) cla(handles.axes4,'reset'), cla(handles.axes5,'reset'), cla(handles.axes7,'reset'); A=handles.fullname; FaceDetect = vision.CascadeObjectDetector; BB = step(FaceDetect,A); y=size(BB,1), hold on Phát Hiện Đối Tượng Trong Ảnh Sử Dụng Phương Pháp Machine Learning cla(handles.axes6,'reset'), ĐỒ ÁN TỐT NGHIỆP Trang 37/44 for i=1:y if i==1 J= imcrop(A,[BB(i,1),BB(i,2),BB(i,3),BB(i,4)]); axes(handles.axes4), imshow(J), handles.J= J; elseif i==2 K= imcrop(A,[BB(i,1),BB(i,2),BB(i,3),BB(i,4)]), axes(handles.axes5), imshow(K), handles.K= K; elseif i==3 H= imcrop(A,[BB(i,1),BB(i,2),BB(i,3),BB(i,4)]), axes(handles.axes6), imshow(H), handles.H= H; elseif i==4 N= imcrop(A,[BB(i,1),BB(i,2),BB(i,3),BB(i,4)]), axes(handles.axes7), imshow(N), handles.N= N; end end guidata(hObject, handles); function pushbutton5_Callback(hObject, eventdata, handles) cla(handles.axes1,'reset'); J=handles.J, axes(handles.axes1), imshow(J), handles.nhandang=J; guidata(hObject, handles); function pushbutton6_Callback(hObject, eventdata, handles) Phát Hiện Đối Tượng Trong Ảnh Sử Dụng Phương Pháp Machine Learning imwrite(J,'J.jpg'), ĐỒ ÁN TỐT NGHIỆP Trang 38/44 cla(handles.axes1,'reset'); J=handles.K; axes(handles.axes1), imshow(J), imwrite(J,'K.jpg'), handles.nhandang=J; guidata(hObject, handles); function pushbutton7_Callback(hObject, eventdata, handles) cla(handles.axes1,'reset'); J=handles.H; axes(handles.axes1), imshow(J), imwrite(J,'H.jpg'), handles.nhandang=J; guidata(hObject, handles); function pushbutton8_Callback(hObject, eventdata, handles) cla(handles.axes1,'reset'); J=handles.N; axes(handles.axes1), imshow(J), imwrite(J,'N.jpg'), handles.nhandang=J; guidata(hObject, handles); function pushbutton9_Callback(hObject, eventdata, handles) close function pushbutton3_Callback(hObject, eventdata, handles) cla(handles.axes3,'reset'); I=handles.nhandang, a=load('C.mat'), b=load('S.mat'), c=load('L.mat'), d=load('imageLabel.mat'), e=load('meanImage.mat'), f=load('somau.mat'); C=a.C, S=b.S, L=c.L, Phát Hiện Đối Tượng Trong Ảnh Sử Dụng Phương Pháp Machine Learning ĐỒ ÁN TỐT NGHIỆP Trang 39/44 somau=f.somau; meanImage=e.meanImage; imageLabel=d.imageLabel; imageSize = [60,40]; numImage=size(S,1); img = zeros(imageSize(1)*imageSize(2),1); ab = imresize(imresize(I,[375,300]),imageSize); aa= rgb2gray(ab); img(:,1) = aa(:); img = (img - meanImage*ones(1,1))'; Projected_Test = img*C; EigenRange = [1:(somau-1)]; TestImage = Projected_Test(1,:); Other_Dist = zeros(1,numImage); for i = 1:numImage Other_Dist(1,i) = sqrt((TestImage'-S(i,EigenRange)')' *(TestImage'-S(i,EigenRange)')); end [Min_Dist,Min_Dist_pos] = min(Other_Dist,[],2); Expr = cell2mat(imageLabel{1,2}(Min_Dist_pos)); axes(handles.axes3); switch Expr Phát Hiện Đối Tượng Trong Ảnh Sử Dụng Phương Pháp Machine Learning ĐỒ ÁN TỐT NGHIỆP Trang 40/44 case 'Truong Cong Hieu' set(handles.textTen,'string','Truong Cong Hieu'); set(handles.textNgaysinh,'string','17/10/1996'); set(handles.textQuequan,'string','Thua Thien Hue'); imshow('anh nhan dang\8.png'); case 'Nguyen Thi Le Huyen' set(handles.textTen,'string','Nguyen Thi Le Huyen'); set(handles.textNgaysinh,'string','1998'); set(handles.textQuequan,'string','Thua Thien Hue'); imshow('anh nhan dang\2.png'); case 'Tran Thi Thanh Nhan' set(handles.textTen,'string','Tran Thi Thanh Nhan'); set(handles.textNgaysinh,'string','1998'); set(handles.textQuequan,'string','Thua Thien Hue'); imshow('anh nhan dang\3.png'); case 'Mai Anh Quan' set(handles.textTen,'string','Mai Anh Quan'); set(handles.textNgaysinh,'string','1998'); set(handles.textQuequan,'string','Thua Thien Hue'); imshow('anh nhan dang\4.png'); Phát Hiện Đối Tượng Trong Ảnh Sử Dụng Phương Pháp Machine Learning ĐỒ ÁN TỐT NGHIỆP Trang 41/44 case 'Tran Ngoc Thong' set(handles.textTen,'string','Tran Ngoc Thong'); set(handles.textNgaysinh,'string','1998'); set(handles.textQuequan,'string','Thua Thien Hue'); imshow('anh nhan dang\5.png'); case 'Hoang Ngoc Trung' set(handles.textTen,'string','Hoang Ngoc Trung'); set(handles.textNgaysinh,'string','1998'); set(handles.textQuequan,'string','Thua Thien Hue'); imshow('anh nhan dang\6.png'); case 'Nguyen Duc Dong' set(handles.textTen,'string','Nguyen Duc Dong'); set(handles.textNgaysinh,'string','13/02/1996'); set(handles.textQuequan,'string','Long An'); imshow('anh nhan dang\7.png'); case 'Nguyen Anh Tuan' set(handles.textTen,'string','Nguyen Anh Tuan'); set(handles.textNgaysinh,'string','15/11/1996'); set(handles.textQuequan,'string','Nam Dinh'); imshow('anh nhan dang\9.png'); Phát Hiện Đối Tượng Trong Ảnh Sử Dụng Phương Pháp Machine Learning ĐỒ ÁN TỐT NGHIỆP Trang 42/44 case 'Tran Thanh Vuong' set(handles.textTen,'string','Tran Thanh Vuong'); set(handles.textNgaysinh,'string','27/07/1996'); set(handles.textQuequan,'string','Quang Ngai'); imshow('anh nhan dang\10.png'); end function pushbutton11_Callback(hObject, eventdata, handles) strTrainPath = uigetdir(); strLabelFile = 'data.txt'; somau=49; fid=fopen(strLabelFile); imageLabel=textscan(fid,'%s %s','whitespace',','); fclose(fid); numImage = length(imageLabel{1,1}); numImage = length(imageLabel{1,1}); TrainImages=''; for i = 1:numImage TrainImages{i,1} = strcat(strTrainPath,'\',imageLabel{1,1}(i)); end imageSize = [60,40]; % load train data Phát Hiện Đối Tượng Trong Ảnh Sử Dụng Phương Pháp Machine Learning ĐỒ ÁN TỐT NGHIỆP Trang 43/44 img = zeros(imageSize(1)*imageSize(2),numImage); for i = 1:numImage ab = imresize(imresize(imread(cell2mat(TrainImages{i,1})), [375,300]),imageSize); a1= rgb2gray(ab); aa=histeq(uint8(a1)); img(:,i) = aa(:); disp(sprintf('Loading Train Image # %d',i)); end meanImage = mean(img,2); img = (img - meanImage*ones(1,numImage))'; [C,S,L]=princomp(img,'econ'); EigenRange = [1:(somau-1)]; C = C(:,EigenRange); save('somau.mat','somau'), save('C.mat','C'), save('S.mat','S'), save('L.mat','L'), save('imageLabel.mat','imageLabel'), save('meanImage.mat','meanImage'); function text4_ButtonDownFcn(hObject, eventdata, handles) Phát Hiện Đối Tượng Trong Ảnh Sử Dụng Phương Pháp Machine Learning ... Một ảnh bao gồm đối tượng, xác định ví trí đối tượng, tách đối tượng khỏi ảnh ban đầu xác định đặc trưng riêng Ảnh sử dụng ảnh màu Phát Hiện Đối Tượng Trong Ảnh Sử Dụng Phương Pháp Machine Learning. .. Hiện Đối Tượng Trong Ảnh Sử Dụng Phương Pháp Machine Learning ĐỒ ÁN TỐT NGHIỆP Trang 11/44 Hình 2-8: Ảnh trắng đen ảnh xám Hình 2-9: Ảnh màu Phát Hiện Đối Tượng Trong Ảnh Sử Dụng Phương Pháp Machine. .. đối tượng 1.12 Tạo sở liệu Phát Hiện Đối Tượng Trong Ảnh Sử Dụng Phương Pháp Machine Learning ĐỒ ÁN TỐT NGHIỆP Trang 28/44 Hình 4-6: Tạo sở liệu 1.13 Nhận dạng đối tượng Phát Hiện Đối Tượng Trong