NHẬN DIỆN KHUÔN mặt từ CAMERA sử DỤNG MACHINE LEARNING (có code)

67 857 9
NHẬN DIỆN KHUÔN mặt từ CAMERA sử DỤNG MACHINE LEARNING (có code)

Đ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

ĐỒ ÁN TỐT NGHIỆP NHẬN DIỆN KHUÔN MẶT TỪ CAMERA SỬ DỤNG MACHINE LEARNING x DANH MỤC CÁC TỪ VIẾT TẮT HOG : Histogram of Oriented Gradients SVM: Support Vector Machine SURF: Speeded-Up Robust Features SIFT: Scale Invariant Feature Transfor RGB: Red, Green, Blue CMY: Cyan Meganta yellow LoG: Lower of Gaussian DoG: difference of Gaussian AI: Artifical Intelligence xi Đồ Án Tốt Nghiệp Trang 3/65 CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 1.1) Giới thiệu tổng quát đề tài Nhận diện khuôn mặt xu phát triển mạnh mẽ, dẫn đầu với công nghệ nhận diện thấy apple họ đưa nhận diện khuôn mặt vào sử dụng việc bảo mật Apple phân tích việc tìm khuôn mặt giống với khuôn mặt khác đường nét, đặc trưng tỉ lệ vô Chính ưu điểm đặc khn mặt khác tỉ lệ khả bảo vệ việc nhận diện khuôn mặt cao Với tính chất tỉ lệ xác suất cao vậy, việc sử dụng công nghệ nhận diện khuôn mặt phổ biến áp dụng nhiều lĩnh vực như: Hình 1: Nhận diện khn mặt facebook Nhận diện khuôn mặt từ camera sử dụng machine learning Đồ Án Tốt Nghiệp Trang 4/65 Hình 2: Nhận diện khuôn mặt Iphone 1.2) Những phần đề tài thực Nhận diện khuôn mặt phương pháp trích xuất đặc trưng riêng hình ảnh khn mặt sau sử dụng machine learning với phương thức máy học đặc trưng để chúng phân loại xác người cần nhận diện Bên cạnh đề tài nghiên cứu thuật tốn nhận dạng đặc điểm khn mặt như: • HOG • SIFT • SURF • Support Vector Machine Và thơng số hiệu chỉnh sau: • Kernel Nhận diện khuôn mặt từ camera sử dụng machine learning Đồ Án Tốt Nghiệp Trang 5/65 • Gamma • Regularization Margin Nhận diện khuôn mặt từ camera sử dụng machine learning Đồ Án Tốt Nghiệp Trang 6/65 CHƯƠNG 2: TỔNG QUAN VỀ XỬ LÝ ẢNH 2.1) Giới thiệu Xử lý ảnh lĩnh vực nghiên cứu quan trọng nay, xử lý ảnh áp dụng nhiều lĩnh vực thực tiễn ngày ngành công nghệ giới phát triển Hiện công nghệ an ninh giới ngày phát triển, chúng tần cần có ứng dụng thiết bị an ninh kiểm soát tốt để giúp ích cho việc quản lý xã hội giúp tìm người thất lạc camera đường phố khắp nơi Đây lí cho mục đích xây dựng đề tài Xử lí ảnh có nhiều ứng dụng, nói đến nhiệm vụ “ Ranger “ vào năm đầu thập niên 60 Lúc nhà khoa học Mỹ trang bị hệ thống quan sát ghi nhận hình ảnh gắn tàu vũ trụ nhằm chụp lại hình người bước lên mặt trăng hình xử lý tốt nhờ máy tính số Trong sống ngày với xã hội ngày phát triển, đòi hỏi nhu cầu ngày cao ứng dụng xử lý ảnh ứng dụng rộng rãi, tác động mạnh mẽ vào lĩnh vực : cải thiện ảnh truyền hình, truyền hình độ phân giải cao, an ninh, y tế, đồ họa Xử lý ảnh chia thành lĩnh vực  Cải thiện hình ảnh  Phục hồi ảnh  Mã hóa ảnh  Lý giải nội dung ảnh 2.1.1) Ảnh sô Ảnh số gồm tập hợp điểm ảnh với cường độ mức xám định nhằm hiển thị ảnh so với ảnh thật Số điểm ảnh lớn độ phân giải cao chất lượng ảnh tốt Nhận diện khn mặt từ camera sử dụng machine learning SVTH: Cao Nguyễn Ngọc Lưu Đồ Án Tốt Nghiệp Trang 7/65 Ảnh số ở không gian chiều hàm G(x,y) với G giá trị biên độ tọa độ (x,y) Trong đó, x số điểm ảnh theo trục hồnh, y theo trục tung Một ảnh có G(64x128) nghĩa độ phân giải ảnh 64x128 2.1.2) Sơ đồ xử lý ảnh sô Camera Thu nhận ảnh Số ảnh hóa Xử lý số Mục đích sử dụng Sơ đồ 1: Sơ đồ xử lý ảnh sô Chú giải: • Thu nhận hình ảnh: thơng qua camera ta thu nhận hình ảnh • Số ảnh hóa: bước chuyển giao ảnh từ tương tự thành số thơng qua q trình lượng tử hóa lấy mẫu • Xử lý số: phục hồi hình ảnh, trích xuất dặc tính, phát biên, … • Mục đích sử dụng: bước tùy vào ứng dụng nhận dạng, hiển thị, phân loại,… 2.1.3) Những mơ hình màu ảnh sơ • Mơ hình RGB: mơ hình bao gồm màu sở Red, Green Blue • Mơ hình CMY: mơ hình dựa màu chủ đạo Cyan, Magenta Yellow, màu có phần bù Red, Green Blue • Mơ hình HSV: màu sắc độ bão hòa, màu sắc, giá trị 2.1.4) Những thành phần bản mợt ảnh sơ • Điểm ảnh Nhận diện khuôn mặt từ camera sử dụng machine learning SVTH: Cao Nguyễn Ngọc Lưu Đồ Án Tốt Nghiệp Trang 8/65 • Độ phân giải • Các loại ảnh màu • Mức xám 2.2) Giải thuật Histogram of Oriented Gradients (HOG) 2.2.1) Giới thiệu Được Navneet Dalal Bill Triggs thuộc nhà nghiên cứu khoa học máy tính tự động hóa ở Pháp HOG kiểu mơ tả đặc tính sử dụng chủ yếu computer vision xử lí ảnh nhằm mục đích phát vật thể Đây kỹ thuật xuất định hướng gradient phần cụ thể hóa hình ảnh Với ý tưởng hình dạng trạng thái vật thể xuất có đặc trưng phân bố cường đồ hướng cạnh HOG dạng feature, biểu thị biểu đồ tính tốn dựa xuất định hướng gradients trục x trục y HOG phương pháp dựa phương pháp Scale-Invariant Feature Transform (SIFT) phát triển lên Nhưng HOG khác biệt với SIFT dùng để phát hiển vùng đặc điểm chứa nhiều đối tượng cần nhận dạng Thường mơ tả đặc trung HOG chuyển đổi hình ảnh với kích thước rộng x, cao y kênh thành vector đặc trưng mảng chiều dài n Thường có kích thước 64x128x3 số vector 3780 HOG với mô tả lấy trích xuất thơng tin có “ hữu ích “ bỏ thông tin không cần thiết ảnh Các gradients thay đổi hướng cường độ pixels có mức sáng khác hình ảnh, ngược lại khơng có mức sáng khác khơng có thay đổi Nhận diện khn mặt từ camera sử dụng machine learning SVTH: Cao Nguyễn Ngọc Lưu Đồ Án Tốt Nghiệp Trang 9/65 Với đặc tính sử dụng thơng tin “ hữu ích “ làm cho việc phát phân loại đối tượng tốt từ vector đặc trưng 2.2.2) Quy trình xử lý trích x́t HOG với mợt hình ảnh • Bước 1: Trước xử lý  Theo lý thuyết đầu vào ảnh để trích xuất đặc trưng thường có kích thước 64x128 cho kết cao Có thể ảnh ở dạng khác như: màu, xám, trắng đen,…  Hạn chế cần phải cố size hình cố định Trong trường hợp phải có tỉ lệ 1:2 Như cụ thể 100x200, 128x256, 1000x2000  Đầu tiên phải scale hình ảnh xuống mức 64x128 Hình 1: Giảm size mức tơi thiểu [1] • Bước 2: Tính tốn hình ảnh Gradient  Tính tốn Gradient vector F(x,y), điểm ảnh chia thành chiều x y tính sau Fx (x,y)=limh0 Nhận diện khn mặt từ camera sử dụng machine learning SVTH: Cao Nguyễn Ngọc Lưu Đồ Án Tốt Nghiệp Trang 10/65 Fy (x,y)=limh0  Tính độ lớn hướng Gradient: G(i,j)= Θ=arctan()  Thực tế, để tính gradient x y ảnh đầu vào, sử dụng lọc hình ảnh với mặt nạ lọc: Hình 2: Mặt nạ lọc biên [1]  Đây ảnh sau lọc biên Hình 3: Sau lọc biên [1] Nhận diện khuôn mặt từ camera sử dụng machine learning SVTH: Cao Nguyễn Ngọc Lưu Đồ Án Tốt Nghiệp Trang 53/65 line([xm,xm],[rc(2)+rc(4),rc(2)+rc(4)-ht], 'LineWidth',2, 'Color','y'); line([rc(1)+rc(3),rc(1)+rc(3)-wd],[ym,ym], 'LineWidth',2, 'Color','y'); line([rc(1),rc(1)+wd],[rc(2),rc(2)], 'LineWidth',4, 'Color','y'); line([rc(1),rc(1)],[rc(2),rc(2)+ht], 'LineWidth',4, 'Color','y'); line([rc(1)+rc(3),rc(1)+rc(3)],[rc(2),rc(2)+ht], 'LineWidth',4, 'Color','y'); line([rc(1)+rc(3),rc(1)+rc(3)-wd],[rc(2),rc(2)], 'LineWidth',4, 'Color','y'); line([rc(1),rc(1)],[rc(2)+rc(4)-ht,rc(2)+rc(4)], 'LineWidth',4, 'Color','y'); line([rc(1),rc(1)+wd],[rc(2)+rc(4),rc(2)+rc(4)], 'LineWidth',4, 'Color','y'); line([rc(1)+rc(3),rc(1)+rc(3)-wd],[rc(2)+rc(4),rc(2)+rc(4)], 'LineWidth',4, 'Color','y'); line([rc(1)+rc(3),rc(1)+rc(3)],[rc(2)+rc(4),rc(2)+rc(4)-ht], Nhận diện khuôn mặt từ camera sử dụng machine learning SVTH: Cao Nguyễn Ngọc Lưu Đồ Án Tốt Nghiệp Trang 54/65 'LineWidth',4, 'Color','y'); end hold off; end temp = hinhtest; load Maux A = [Maux]; HOG.numBin = 9; HOG.numNgang = 8; HOG.numDoc = 16; HOG.cellsize = 8; HOG.windowsize = [(HOG.numDoc * HOG.cellsize), (HOG.numNgang * HOG.cellsize)]; H = getHOGDescriptor(HOG, temp); hinhtest1 = H'; current = 0; i = 0; for i = 1:50 current = svmclassify(A(i), hinhtest1); if current == break; else current = 0; i = 0; end end if i==1 set(handles.edit3,'String','Nguyen Anh Do') Nhận diện khuôn mặt từ camera sử dụng machine learning SVTH: Cao Nguyễn Ngọc Lưu Đồ Án Tốt Nghiệp Trang 55/65 set(handles.edit6,'String','13/02/1996') set(handles.edit7,'String','Quang Ngai') axes(handles.axes11); hinh=imread('1.jpg'); imshow(hinh) else set(handles.edit3,'String','Unknown') end load MauXTest load TestTichCuc dem = 0; current = svmclassify(MauS22Test, TestTichCuc) for i = : length(current) if current(i) == dem = dem + 1; end end Hieusuat=((length(current) - dem))/length(current)*100; Hieusuat=strcat(num2str(Hieusuat),' %'); set(handles.edit4,'String',Hieusuat) load MauChung load TestTieuCuc dem = 0; current = svmclassify(MauChung, TestTieuCuc) for i = : length(current) if current(i) == dem = dem + 1; end end Nhận diện khuôn mặt từ camera sử dụng machine learning SVTH: Cao Nguyễn Ngọc Lưu Đồ Án Tốt Nghiệp Trang 56/65 Hieusuat = 100 - (dem / length(current) * 100) Hieusuat=strcat(num2str(Hieusuat),' %'); set(handles.edit5,'String',Hieusuat) function TaoMau_Callback(hObject, eventdata, handles) HOG.numBin = 9; HOG.numNgang = 8; HOG.numDoc = 16; HOG.cellsize = 8; HOG.windowsize = [(HOG.numDoc * HOG.cellsize), (HOG.numNgang * HOG.cellsize)]; posFiles = getImagesInDir('./TestTichCuc/', true); negFiles = getImagesInDir('./thumucrong/', true); Y_train = [ones(length(posFiles), 1); zeros(length(negFiles), 1)]; fileList = [posFiles, negFiles]; TestTichCuc = zeros(length(fileList), 3780); fprintf('Tinh toan cho %d anh: ', length(fileList)); for i = : length(fileList) imgFile = char(fileList(i)); img = imread(imgFile); H = getHOGDescriptor(HOG, img); TestTichCuc(i, :) = H'; end save TestTichCuc TestTichCuc function MauTieuCuc_Callback(hObject, eventdata, handles) HOG.numBin = 9; HOG.numNgang = 8; HOG.numDoc = 16; HOG.cellsize = 8; Nhận diện khuôn mặt từ camera sử dụng machine learning SVTH: Cao Nguyễn Ngọc Lưu Đồ Án Tốt Nghiệp Trang 57/65 HOG.windowsize = [(HOG.numDoc * HOG.cellsize), (HOG.numNgang * HOG.cellsize)]; posFiles = getImagesInDir('./TestTieuCuc/', true); negFiles = getImagesInDir('./thumucrong/', true); Y_train = [ones(length(posFiles), 1); zeros(length(negFiles), 1)]; fileList = [posFiles, negFiles]; TestTieuCuc = zeros(length(fileList), 3780); fprintf('Tinh toan cho %d anh: ', length(fileList)); for i = : length(fileList) imgFile = char(fileList(i)); img = imread(imgFile); H = getHOGDescriptor(HOG, img); TestTieuCuc(i, :) = H'; end save TestTieuCuc TestTieuCuc Nhận diện khuôn mặt từ camera sử dụng machine learning SVTH: Cao Nguyễn Ngọc Lưu Đồ Án Tốt Nghiệp Trang 58/65 PHỤ LỤC IV CODE SỬ DỤNG CAMERA function loadcam_Callback(hObject, eventdata, handles) global mycam mycam=ipcam('http://192.168.1.168:8080/video'); preview(mycam) function chupanh_Callback(hObject, eventdata, handles) global mycam global Image Image=snapshot(mycam); axes(handles.axes3); imshow(Image) function TimKhuonMat_Callback(hObject, eventdata, handles) global bboxx global Image global hinhtest faceDetector = vision.CascadeObjectDetector(); hinhtest=rgb2gray(Image); bboxx = step(faceDetector, hinhtest); axes(handles.axes4); imshow(hinhtest) if(~isempty(bboxx)) hold on; for i=1:size(bboxx,1) bbox=bboxx(i,:); rc=bbox+[-bbox(3)/4,-bbox(4)/4,bbox(3)/2,bbox(4)/2]; ht=round(rc(4)/20); wd=round(rc(3)/20); Nhận diện khuôn mặt từ camera sử dụng machine learning SVTH: Cao Nguyễn Ngọc Lưu Đồ Án Tốt Nghiệp Trang 59/65 xm=round(rc(1)+(rc(3)/2)); ym=round(rc(2)+(rc(4)/2)); rectangle('Position',rc, 'Curvature',0, 'LineWidth',2, 'LineStyle',' ', 'EdgeColor','y') line([xm,xm],[rc(2),rc(2)+ht], 'LineWidth',2, 'Color','y'); line([rc(1),rc(1)+wd],[ym,ym], 'LineWidth',2, 'Color','y'); line([xm,xm],[rc(2)+rc(4),rc(2)+rc(4)-ht], 'LineWidth',2, 'Color','y'); line([rc(1)+rc(3),rc(1)+rc(3)-wd],[ym,ym], 'LineWidth',2, 'Color','y'); line([rc(1),rc(1)+wd],[rc(2),rc(2)], 'LineWidth',4, 'Color','y'); line([rc(1),rc(1)],[rc(2),rc(2)+ht], 'LineWidth',4, 'Color','y'); line([rc(1)+rc(3),rc(1)+rc(3)],[rc(2),rc(2)+ht], 'LineWidth',4, 'Color','y'); line([rc(1)+rc(3),rc(1)+rc(3)-wd],[rc(2),rc(2)], Nhận diện khuôn mặt từ camera sử dụng machine learning SVTH: Cao Nguyễn Ngọc Lưu Đồ Án Tốt Nghiệp Trang 60/65 'LineWidth',4, 'Color','y'); line([rc(1),rc(1)],[rc(2)+rc(4)-ht,rc(2)+rc(4)], 'LineWidth',4, 'Color','y'); line([rc(1),rc(1)+wd],[rc(2)+rc(4),rc(2)+rc(4)], 'LineWidth',4, 'Color','y'); line([rc(1)+rc(3),rc(1)+rc(3)-wd],[rc(2)+rc(4),rc(2)+rc(4)], 'LineWidth',4, 'Color','y'); line([rc(1)+rc(3),rc(1)+rc(3)],[rc(2)+rc(4),rc(2)+rc(4)-ht], 'LineWidth',4, 'Color','y'); end hold off; end function nhandang_Callback(hObject, eventdata, handles) global hinhtest temp = hinhtest; load MauX A = [MauX]; HOG.numBin = 9; HOG.numNgang = 8; HOG.numDoc = 16; HOG.cellsize = 8; HOG.windowsize = [(HOG.numDoc * HOG.cellsize), (HOG.numNgang * HOG.cellsize)]; H = getHOGDescriptor(HOG, temp); Nhận diện khuôn mặt từ camera sử dụng machine learning SVTH: Cao Nguyễn Ngọc Lưu Đồ Án Tốt Nghiệp Trang 61/65 hinhtest1 = H'; current = 0; i = 0; for i = 1:50 current = svmclassify(A(i), hinhtest1); if current == break; else current = 0; i = 0; end end if i==1 set(handles.edit3,'String','Nguyen Anh Do') set(handles.edit6,'String','13/02/1996') set(handles.edit7,'String','Quang Ngai') axes(handles.axes11); hinh=imread('1.jpg'); imshow(hinh) else set(handles.edit3,'String','Unknown') end function TachKhuonMat_Callback(hObject, eventdata, handles) global hinhtest global bboxx for i = : size(bboxx, 1) J = imcrop(hinhtest, bboxx(i, :)); Nhận diện khuôn mặt từ camera sử dụng machine learning SVTH: Cao Nguyễn Ngọc Lưu Đồ Án Tốt Nghiệp Trang 62/65 end hinhtest=imresize(J,[128 64]); Nhận diện khuôn mặt từ camera sử dụng machine learning SVTH: Cao Nguyễn Ngọc Lưu Đồ Án Tốt Nghiệp Trang 63/65 PHỤ LỤC V CODE CHỤP HÌNH DỮ LIỆU function loadcamera_Callback(hObject, eventdata, handles) global mycam global Image Image=snapshot(mycam); axes(handles.axes3); imshow(Image) function chuphinh_Callback(hObject, eventdata, handles) global mycam global Image Image=snapshot(mycam); axes(handles.axes1); imshow(Image) function savehinh_Callback(hObject, eventdata, handles) global Image faceDetector = vision.CascadeObjectDetector(); hinhtest=rgb2gray(Image); bboxx = step(faceDetector, hinhtest); if(~isempty(bboxx)) for i=1:size(bboxx,1) bbox=bboxx(i,:); rc=bbox+[-bbox(3)/4,-bbox(4)/4,bbox(3)/2,bbox(4)/2]; ht=round(rc(4)/20); wd=round(rc(3)/20); xm=round(rc(1)+(rc(3)/2)); ym=round(rc(2)+(rc(4)/2)); rectangle('Position',rc, 'Curvature',0, Nhận diện khuôn mặt từ camera sử dụng machine learning SVTH: Cao Nguyễn Ngọc Lưu Đồ Án Tốt Nghiệp Trang 64/65 'LineWidth',2, 'LineStyle',' ', 'EdgeColor','y') line([xm,xm],[rc(2),rc(2)+ht], 'LineWidth',2, 'Color','y'); line([rc(1),rc(1)+wd],[ym,ym], 'LineWidth',2, 'Color','y'); line([xm,xm],[rc(2)+rc(4),rc(2)+rc(4)-ht], 'LineWidth',2, 'Color','y'); line([rc(1)+rc(3),rc(1)+rc(3)-wd],[ym,ym], 'LineWidth',2, 'Color','y'); line([rc(1),rc(1)+wd],[rc(2),rc(2)], 'LineWidth',4, 'Color','y'); line([rc(1),rc(1)],[rc(2),rc(2)+ht], 'LineWidth',4, 'Color','y'); line([rc(1)+rc(3),rc(1)+rc(3)],[rc(2),rc(2)+ht], 'LineWidth',4, 'Color','y'); line([rc(1)+rc(3),rc(1)+rc(3)-wd],[rc(2),rc(2)], 'LineWidth',4, 'Color','y'); line([rc(1),rc(1)],[rc(2)+rc(4)-ht,rc(2)+rc(4)], 'LineWidth',4, Nhận diện khuôn mặt từ camera sử dụng machine learning SVTH: Cao Nguyễn Ngọc Lưu Đồ Án Tốt Nghiệp Trang 65/65 'Color','y'); line([rc(1),rc(1)+wd],[rc(2)+rc(4),rc(2)+rc(4)], 'LineWidth',4, 'Color','y'); line([rc(1)+rc(3),rc(1)+rc(3)-wd],[rc(2)+rc(4),rc(2)+rc(4)], 'LineWidth',4, 'Color','y'); line([rc(1)+rc(3),rc(1)+rc(3)],[rc(2)+rc(4),rc(2)+rc(4)-ht], 'LineWidth',4, 'Color','y'); end end for i = : size(bboxx, 1) J = imcrop(hinhtest, bboxx(i, :)); end hinhtest=imresize(J,[128 64]); a=str2double(get(handles.nhapso,'string')); filename = sprintf('%02d.png', a); imwrite(hinhtest,filename) function savehinhRGB_Callback(hObject, eventdata, handles) global Image a=str2double(get(handles.nhapso,'string')); filename = sprintf('%02d.png', a); imwrite(Image,filename) Nhận diện khuôn mặt từ camera sử dụng machine learning SVTH: Cao Nguyễn Ngọc Lưu Đồ Án Tốt Nghiệp Trang 66/65 PHỤ LỤC VI CODE ĐÀO TẠO MẪU TRAINING clear all clc HOG.numBin = 9; HOG.numNgang = 8; HOG.numDoc = 16; HOG.cellsize = 8; HOG.windowsize = [(HOG.numDoc * HOG.cellsize), (HOG.numNgang * HOG.cellsize)]; posFiles = getImagesInDir('./S22/', true); negFiles = getImagesInDir('./conlai/', true); Label = [ones(length(posFiles), 1); zeros(length(negFiles), 1)]; fileList = [posFiles, negFiles]; MauS22Test = zeros(length(fileList), 3780); fprintf('Computing descriptors for %d training windows: ', length(fileList)); for i = : length(fileList) imgFile = char(fileList(i)); img = imread(imgFile); H = getHOGDescriptor(HOG, img); MauS22Test(i, :) = H'; end MauS22Test = svmtrain(MauS22Test, Label) save MauS22Test MauS22Test Nhận diện khuôn mặt từ camera sử dụng machine learning SVTH: Cao Nguyễn Ngọc Lưu Đồ Án Tốt Nghiệp Trang 67/65 TÀI LIỆU THAM KHẢO [1] https://www.learnopencv.com/histogram-of-oriented-gradients/ [2] Đồ án tốt nghiệp tác giả Đinh Gia Luật (2018) trường Đại Học Tôn Đức Thắng [3] https://se.mathworks.com/videos/face-recognition-with-matlab-100902.html? fbclid=IwAR3Lr_YX2oHmZvPvpN8Cpm_0nB2DGt2ztdcIoWLlUxYCRaTbslfi51PlLo [4] https://www.mathworks.com/matlabcentral/fileexchange/53849-code-for-facerecognition-with-matlab-webinar?fbclid=IwAR0aQKnU_6E2uJmcUtB3P_6zGSZYeG8OtnKGABSRsblScFlOhpKspp BE [5] https://www.mathworks.com/discovery/face-recognition.html? fbclid=IwAR1sklUFMI9CaCf_8Ge6_uvFI_7xaacPeStRB8BiICvyvoQGj6ewvAL04I [6] https://machinelearningcoban.com/2017/04/09/smv/ [7] https://opencv-pythontutroals.readthedocs.io/en/latest/py_tutorials/py_feature2d/py_sift_intro/py_sift_intr o.html [8] https://opencv-pythontutroals.readthedocs.io/en/latest/py_tutorials/py_feature2d/py_surf_intro/py_surf_in tro.html Nhận diện khuôn mặt từ camera sử dụng machine learning SVTH: Cao Nguyễn Ngọc Lưu ... Nhận diện khuôn mặt facebook Nhận diện khuôn mặt từ camera sử dụng machine learning Đồ Án Tốt Nghiệp Trang 4/65 Hình 2: Nhận diện khn mặt Iphone 1.2) Những phần đề tài thực Nhận diện khn mặt phương... màu Nhận diện khuôn mặt từ camera sử dụng machine learning SVTH: Cao Nguyễn Ngọc Lưu Đồ Án Tốt Nghiệp Trang 25/65 Hình 17: Phân biệt nhóm đơm sáng đen [8] Nhận diện khn mặt từ camera sử dụng machine. .. Nhận diện khuôn mặt từ camera sử dụng machine learning SVTH: Cao Nguyễn Ngọc Lưu Đồ Án Tốt Nghiệp Trang 31/65 Hình 6: Gamma thấp [6] Hình 7: Gamma cao [6] Nhận diện khuôn mặt từ camera sử dụng

Ngày đăng: 22/03/2019, 20:32

Từ khóa liên quan

Mục lục

  • CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI

    • 1.1) Giới thiệu tổng quát đề tài

    • 1.2) Những phần đề tài thực hiện

    • CHƯƠNG 2: TỔNG QUAN VỀ XỬ LÝ ẢNH

      • 2.1) Giới thiệu

        • 2.1.1) Ảnh số

        • 2.1.2) Sơ đồ xử lý ảnh số

        • 2.1.3) Những mô hình màu của ảnh số

        • 2.1.4) Những thành phần cơ bản của một ảnh số

        • 2.2) Giải thuật Histogram of Oriented Gradients (HOG)

          • 2.2.1) Giới thiệu

          • 2.2.2) Quy trình xử lý trích xuất của HOG với một hình ảnh

          • 2.3) Giải thuật Scale Invariant Feature Transform (SIFT)

            • 2.3.1) Giới thiệu

            • 2.3.2) 4 bước liên quan chủ yếu

            • 2.4) Giải thuật Speeded-Up Robust Feature (SURF)

              • 2.4.1) Giới thiệu

              • 2.4.2) Các bước thuật toán SURF

              • CHƯƠNG 3: TÌM HIỂU MACHINE LEARNING VÀ SUPPORT VECTOR MACHINE

                • 3.1) Machine learning là gì?

                • 3.2) Support Vector Machine (SVM)

                  • 3.2.1) Giới thiệu

                  • 3.2.2) Siêu phẳng ( Hyper plane )

                  • 3.2.3) Phân chia 2 lớp theo lề Margin

                  • 3.2.4) Các thông số hiệu chỉnh của SVM

                    • 3.2.4.1) Thống số hiệu chỉnh Kernel

                    • 3.2.4.2) thông số hiệu chỉnh Regularization

                    • 3.2.4.3) Thống số hiệu chính Gamma

                    • CHƯƠNG 4: MÔ PHỎNG NHẬN DIỆN KHUÔN MẶT DÙNG MATLAB

                      • 4.1) Cấu trúc mô phỏng

Tài liệu cùng người dùng

Tài liệu liên quan