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

(TIỂU LUẬN) đồ án CHUYÊN NGHÀNH đề tài NHẬN DIỆN KHUÔN mặt QUA ẢNH BẰNG THUẬT TOÁN SVM

21 22 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

BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CNTT -♣♣♣ - BÁO CÁO MÔN : ĐỒ ÁN CHUYÊN NGHÀNH ĐỀ TÀI: NHẬN DIỆN KHUÔN MẶT QUA ẢNH BẰNG THUẬT TOÁN SVM GVHD: TS.Nguyễn Mạnh Cường Lớp: LT_KHMT1-K15 Nhóm:11 Sinh viên thực hiện: Nguyễn Minh Phong 2019608304 Nguyễn Nhật Quang 2020608641 Hà Nội, 2021 Mục Lục Danh mục thuật ngữ, kí hiệu, từ viết tắt Danh mục hình ảnh Lời cảm ơn Lời nói đầu Chương I: Giới thiệu đề tài Lý chọn đề tài .7 Vai trò ý nghĩa đề tài Mục tiêu nhiệm vụ .8 Chương II: Mơ hình SVM(Support vector machine) .9 Khái niệm Lý thuyết 2.1 Bài toán tối ưu cho SVM 2.2 Margin SVM 13 Chương III: Kết thực nghiệm 14 Dữ Liệu 14 Chương trình 16 Kết .18 Nhận xét 19 Kết luận .20 Tài liệu tham khảo 21 Danh mục thuật ngữ, kí hiệu, từ viết tắt STT Từ viết tắt, ký hiệu Giải thích CSDL Cơ sở liệu SVM Support Vector Machine HOG Histogram of Oriented Gradients CNN/CNNs Convolutional Neural Network (Mạng nơ ron tích chập) Danh mục hình ảnh Danh mục ảnh chương 1: .Error! Bookmark not defined Danh mục ảnh chương 2: .Error! Bookmark not defined Hình 2.1.1 : Mô tả khái niệm SVM Hình 2.2.1:Minh họa SVM với cặp liệu training .10 Hình 2.2.2: Minh họa SVM điểm gần mặt phân chia 12 Hình 2.2.3 Margin SVM 13 Hình 2.3.1: Minh họa tính tốn gradient Error! Bookmark not defined Hình 2.3.2: Biểu đồ feature vector cuối Error! Bookmark not defined Hình 2.4.1: Convolutional(Sliding Windows) Error! Bookmark not defined Hình 2.4.2: Cấu trúc mạng CNN Error! Bookmark not defined Hình 2.4.3: Ví dụ Trường tiếp nhận cục (local receptive field)Error! Bookmark not defined Hình 2.4.4: Minh họa neuron ẩn Error! Bookmark not defined Hình 2.4.5: Minh họa dịch chuyển filter Error! Bookmark not defined Hình 2.4.6: feature map Error! Bookmark not defined Hình 2.4.7: Cấu trúc lớp tổng hợp(pooling layer) Error! Bookmark not defined Hình 2.4.8: Max poolling 2x2 Error! Bookmark not defined Hình 2.4.9: CNN đầu sau Max Pooling Error! Bookmark not defined Danh mục anh chương 3: .Error! Bookmark not defined Hình 3.1.1: Nguyên lý hoạt động chương trinh .14 Hình 3.1.2: Dữ liệu ảnh nhị phân 15 Hình 3.1.3: Dữ liệu ảnh xám 15 Hình 3.1.4: Dữ liệu ảnh màu RGB 16 Hình 3.2.1: Mã code thêm thư viện, đọc liệu(ảnh) đầu vào 17 Hình 3.2.2: Mã code xác định khn mặt với SVM + HOG 17 Hình 3.2.3: Mã code xác định khuôn mặt với CNN 17 Lời cảm ơn Lời cho phép chúng em gửi lời cảm ơn sâu sắc tới thầy cô khoa Công nghệ thông tin - Trường Đại học Công Nghiệp Hà Nội, người truyền đạt dẫn cho chúng em kiến thức, học quý báu bổ ích suốt kỳ học vừa qua Để hoàn thành đề tài này, đặc biệt chúng em xin bày tỏ tri ân xin chân thành cảm ơn giảng viên Nguyễn Mạnh Cường, người trực tiếp hướng dẫn, bảo chúng em suốt q trình học tập nghiên cứu để hồn thành đề tài Sau nữa, chúng em xin gửi tình cảm sâu sắc tới gia đình bạn bè ln bên cạnh khuyến khích, động viên, giúp đỡ vật chất linh tinh thần cho chúng em suốt qui trình học tập để chúng em hồn thành tốt việc học tập thân Trong trình nghiên cứu làm đề tài, lực, kiến thức, trình độ thân chúng em cịn hạn hẹp nên khơng tránh khỏi thiếu sót chúng em mong mỏi nhận thông cảm góp ý từ q thầy bạn lớp Chúng em xin chân thành cảm ơn! Sinh Viên: Nguyễn Minh Phong Nguyễn Nhật Quang Lời nói đầu Những năm gần đây, AI lên chứng cách mạng công nghiệp lần thứ tư Trí tuệ nhân tạo định nghĩa ngành khoa học máy tính liên quan đến việc tự động hóa hành vi thơng minh Trí tuệ nhân tạo phận khoa học máy tính phải đặt nguyên lý lý thuyết vững chắc, có khả ứng dụng ca lĩnh vực Ở thời điểm tại, thuật ngữ thường dùng để nói đến máy tính có mục đích khơng định ngành khoa học nghiên cứu lý thuyết ứng dụng trí tuệ nhân tạo Theo đà phát triển cơng nghệ, ứng dụng trí tuệ nhân tạo xu hướng công nghệ tương lai mà hãng cơng nghệ tồn giới đua sáng tạo, tảng cốt lõi cách mạng công nghệ 4.0 ML (Machine Learning) lĩnh vực trí tuệ nhân tạo, sinh từ khả nhận diện mẫu vả từ lý thuyết máy tính học mà khơng cần phải lập trình để xử lý nhiệm vụ cụ thể Hầu hết nghành cơng nghiệp làm việc với hàm lượng lớn liệu nhận tâm quan trọng công nghệ AI Những nhìn sáng st từ nguồn liệu chủ yếu dong thời gian thực giúp tổ chức vận hành hiệu tạo lợi cạnh tranh với đối thủ Các ứng dụng AI quen thuộc với người: xe tự hành Google Tesla, hệ thống tự tag khuôn mặt Facebook , hệ thống gợi ý sản phẩm Amazon, hệ thống gợi ý phim ứng dụng Netflix… vài ứng dụng muôn vàn ứng dụng trí tuệ nhân tạo cụ thể ML - Machine Learning Chương I: Giới thiệu đề tài Lý chọn đề tài Như ta biết, thời đại thời đại internet, thời đại bùng nổ thông tin, mà tất người giới sống giới phẳng, đặc biệt diễn cách mạng công nghiệp 4.0 lượng thơng tin ngày nhiều, việc phân loại chúng trở nên khó khăn Ở tổ chức nào, với mơ hình hay quy mơ có nhữn nhu cầu lưu trữ khai thác thơng tin Đã có nhiều hệ thống phân loại tin tức để quết định Việc phân loại tin tức đem lại nhiều thành tựu định, cụ thể như:  Xác định xu cộng đồng mạng khí mà cộng đồng chiếm ngày đơng xã hội, qua xác định xu mặt ngắn hạn xã hội, hỗ trợ cho người sử dụng đưa định phù hợp  Việc phân loại tin tức ứng dụng website thương mại nhằm nắm bắt xu tiêu dùng người sử dụng Một thuật tốn để ứng dụng cơng việc ứng dụng nhận diện khuôn mặt xác định khn mặt thuật tốn SVM – Support Vector Machine Thuật tốn có ưu điểm : Xử lý không gian số chiều cao: SVM cơng cụ tính tốn hiệu khơng gian chiều cao, đặc biệt áp dụng cho tốn phân loại văn phân tích quan điểm nơi chiều lớn.Tiết kiệm nhớ Vai trò ý nghĩa đề tài Mục đích nghiên cứu đề tài : Nghiên cứu đề xuất phương pháp phân loại văn theo chủ đề dựa thuật toán SVM – Support Vector Machine - Tích hợp giải pháp ứng dụng vào hệ thống đánh giá hiệu Ý nghĩa khoa học thực tiễn đề tài - Đóng góp mặt phương pháp luận thực nghiệm vào lĩnh vực phân loại văn bản, nhánh nghiên cứu xử lý ngôn ngữ tự nhiên Cải tiến chất lượng hệ thống phân loại văn có để nâng cao quản lý xu tin tức Mục tiêu nhiệm vụ Mục tiêu: - Mục tiêu đề tài Ứng dụng thuật tốn SVM – Support Vector Machine vào hệ thống để xác định khuôn mặt - Nghiên cứu cải thiện thuật toán SVM hệ thống phân loại tin tức Nhiệm vụ: - Thu thập liệu mẫu - Nghiên cứu phương pháp xác định khuône mặt - Phát biểu, phân tích cài đặt giải thuật cho tốn - Đánh giá so sánh kết Chương II: Mơ hình SVM(Support vector machine) Khái niệm SVM thuật tốn giám sát, sử dụng cho việc phân loại đệ quy Tuy nhiên sử dụng chủ yếu cho việc phân loại Trong thuật toán này, vẽ đồi thị liệu điểm n chiều ( n số lượng tính bạn có) với giá trị tính phần liên kết Sau thực tìm "đường bay" (hyper-plane) phân chia lớp Hyper-plane hiểu đơn giản đường thẳng phân chia lớp thành hai phần riêng biệt Hình 2.1.1 : Mô tả khái niệm SVM Support Vectors hiểu cách đơn giản đối tượng đồ thị tọa độ quan sát, Support Vector Machine biên giới để chia hai lớp tốt Lý thuyết 2.1 Bài toán tối ưu cho SVM Giả sử cặp liệu training set (x1,y1),(x2,y2),…,(xN,yN) (x1,y1),(x2,y2),…,(xN,yN) với vector xi ∈Rd thể đầu vào điểm liệu yiyi nhãn điểm liệu dd số chiều liệu NN số điểm liệu Giả sử nhãn điểm liệu xác định yi=1 (class 1) yi=−1 (class 2) giống PLA Hình 2.2.1:Minh họa SVM với cặp liệu training Giả sử điểm vuông xanh thuộc class 1, điểm tròn đỏ thuộc class -1 mặt wTx+b=w1x1+w2x2+b= mặt phân chia hai classes Hơn nữa, class nằm phía dương, class -1 nằm phía âm mặt phân chia Nếu ngược lại, ta cần đổi dấu w b Chú ý cần tìm hệ số w b Ta quan sát thấy điểm quan trọng sau đây: với cặp liệu (xn,yn) bất kỳ, khoảng cách từ điểm tới mặt phân chia là: 10 Điều dễ nhận thấy theo giả sử trên, yn ln dấu với phía xnxn Từ suy ynyn dấu với (wT xn +b), tử số số không âm Với mặt phần chia trên, margin tính khoảng cách gần từ điểm tới mặt (bất kể điểm hai classes): Margin = minn Bài tốn tối ưu SVM tốn tìm w b cho margin đạt giá trị lớn : (w,b) = arg maxw,b {minn } = arg max w,b {minnYn (wTxn+b)}(1) Việc giải trực tiếp toán phức tạp, bạn thấy có cách để đưa toán đơn giản Nhận xét quan trọng ta thay vector hệ số w kw b kb k số dương mặt phân chia khơng thay đổi, tức khoảng cách từ điểm đến mặt phân chia không đổi, tức margin khơng đổi Dựa tính chất này, ta giả sử: Yn(wT xn+b)=1 Với điểm nằm gần mặt phân chia hình : 11 Hình 2.2.2: Minh họa SVM điểm gần mặt phân chia Như vậy, với n, ta có : Yn (w T xn + b)>=1 Vậy tốn tối ưu (1) đưa tốn tối ưu có buộc sau : (w,b) = arg maxw,b subject to :Yn(wTxn+b)≥1, ∀n=1,2,…,N(2) Bằng biến đổi đơn giản ,ta đưa tốn toán : (w,b) = arg minw,b ||w|| 22subject to: 1-yn(w Txn + b)≤0, ∀n=1,2,…,N (3) Ở đây, lấy nghịch đảo hàm mục tiêu, bình phương để hàm khả vi, nhân với 1212 để biểu thức đạo hàm đẹp Xác định class cho điểm liệu mới: Sau tìm mặt phân cách wTx+b=0wTx+b=0, class điểm xác định đơn giản cách: Class(x) = sgn(wTx+b) 12 Trong hàm sgn hàm xác định dấu ,nhận giá trị đối số không âm -1 ngược lại 2.2 Margin SVM Hình 2.2.3 Margin SVM Margin khoảng cách siêu phẳng đến điểm liệu gần tương ứng với phân lớp Trong ví dụ táo lê đặt mặt bán, margin khoảng cách que hai táo lê gần Điều quan trọng phương pháp SVM ln cố gắng cực đại hóa margin này, từ thu siêu phẳng tạo khoảng cách xa so với táo lê Nhờ vậy, SVM giảm thiểu việc phân lớp sai (misclassification) điểm liệu đưa vào Chương III: Kết thực nghiệm Dữ Liệu 13 Nguyễn lý hoạt động thuật toán: Excute Input Output Hình 3.1.1: Nguyên lý hoạt động chương trinh Chú thích: - SVM + HOG: Đường bao màu xanh - CNN: Đường bao màu đỏ Ta có liệu: gồm ảnh giống nội dung, có kích cỡ (825x550):  Ảnh nhị phân: 14 Hình 3.1.2: Dữ liệu ảnh nhị phân  Ảnh xám: Hình 3.1.3: Dữ liệu ảnh xám  Ảnh màu RGB: 15 Hình 3.1.4: Dữ liệu ảnh màu RGB Chương trình Chương trình viết ngơn ngữ python sử dụng thư viện Dlib Dlib thư viện mã nguồn mở Machine learning, tiếng Deep learning Dlib chương trình thư viện OpenCV, hỗ trợ người dùng việc xác định khuôn mặt Trong chương trình, thuật tốn mà Dlib sử dụng HOG(Histogram of Oriented Gradients) SVM(Support Vector Machine), lý Dilb có thời gian chạy nhỏ sử dụng hệ thống thời gian thực Tuy nhiên gần đây, Dlib cung cấp thêm hàm xác định khuôn mặt dựa mạng CNN Chúng ta sử dụng phương pháp để có nhận định xác cách hoạt động ưu điểm nhược điểm Sau nên chọn phương pháp cho phù hợp với cấu hình máy, cở sở vật chất 16 Chương trình:  Import thư viện, đọc ảnh đầu vào khai báo thư viện Dlib: Hình 3.2.1: Mã code thêm thư viện, đọc liệu(ảnh) đầu vào  Xác định khn mặt với SVM + HOG: Hình 3.2.2: Mã code xác định khuôn mặt với SVM + HOG  Xác định khn mặt với CNN: Hình 3.2.3: Mã code xác định khuôn mặt với CNN 17 Kết Dữ liệu đầu vào Thuật toán Kết đầu Thời Ảnh xác định khuôn gian Ảnh nhị phân Ảnh xám Ảnh màu RGB SVM+HOG (giây) 0.222 CNN 26.909 SVM+HOG 0.220 CNN 27.036 SVM+HOG 0.222 CNN 26.946 18 mặt Nhận xét  Nhận xét chung: Từ bảng liệu ta thấy thuật toán SVM+HOG CNN nhận diện khuôn mặt Với ảnh khoảng 800x600 pixel này, phương pháp sử dụng HOG kết hợp SVM khoảng 0.22 giây để xác định tồn khn mặt, cịn phương pháp CNN lại phải tới 26.94 giây (gấp khoảng 120 lần) Sự chênh lệch lớn nhiều thử ảnh chất lượng cao Vậy tùy thuộc vào cấu hình máy móc, sở vật chất đưa lựa chọn thích hợp, nên chọn phương pháp  Bảng so sánh: SVM+HOG + Chỉ nhận diện khuôn CNN + Nhận diện hầu hết khuôn mặt diện, bỏ qua khn mặt, kết gần tuyệt đối mặt quay nghiêng bị che phần + Thời gian thực thi nhanh + Phù hợp với sở vật chất vừa + Thời gian thực thi chậm + Phù hợp với sở vật chất vừa lớn nhỏ 19 Kết luận Kết đạt đề tài Sau thời gian tập trung triển khai đề tài, nhóm chúng em hồn thành xong phần tìm hiểu thuật tốn áp dụng nhận diện đặc biệt thuật toán SVM ứng dụng nhận diện mặt người Sau hồn thành xong Bên cạnh đó, chúng em mở rộng thêm kiến thức chuyên ngành nhờ việc tìm hiểu số kiến thức lập trình để áp dụng vào việc phát triển ứng dụng Nhờ vậy, kỹ tự học vận dụng kỹ em nâng cao Khi thực hoàn thành dự án,cả nhóm biết thêm nhiều kinh nghiệm quý giá xây dựng áp dụng thuật toán vào ứng dụng nhận diện mặt người Những kỹ tảng để giúp em nâng cao trình độ thân, kinh nghiệm thực tế để làm việc ngồi doanh nghiệp sau Hạn chế đề tài Bên cạnh kết khả quan đạt được, em nhận thấy tồn số hạn chế:thuật toán SVM chưa phải lựa chọn tốt cho việc áp dụng vào nhận diện mặt người, nguồn tài liệu tham khảo để áp dụng hạn chế 20 Tài liệu tham khảo [1] Bishop, Christopher M – 2006 - Pattern recognition and Machine Learning Springer [2] Duda, Richard O., Peter E Hart, and David G Stork – 2012 - Pattern classification - John Wiley & Sons [3] Dalal - 2005 - Navneet, and Bill Triggs - Histograms of oriented gradients for human detection - Computer Vision and Pattern Recognition (CVPR) [4] Pedro F Felzenszwalb, and Daniel P Huttenlocher - 2004 - Efficient graph-based image segmentation - Intl journal of computer vision 59.2 =====*****===== TRÂN TRỌNG CẢM ƠN ! 21 ... (giây) 0.222 CNN 26.909 SVM+ HOG 0.220 CNN 27.036 SVM+ HOG 0.222 CNN 26.946 18 mặt Nhận xét  Nhận xét chung: Từ bảng liệu ta thấy thuật toán SVM+ HOG CNN nhận diện khuôn mặt Với ảnh khoảng 800x600 pixel... luận Kết đạt đề tài Sau thời gian tập trung triển khai đề tài, nhóm chúng em hồn thành xong phần tìm hiểu thuật tốn áp dụng nhận diện đặc biệt thuật toán SVM ứng dụng nhận diện mặt người Sau... thích hợp, nên chọn phương pháp  Bảng so sánh: SVM+ HOG + Chỉ nhận diện khuôn CNN + Nhận diện hầu hết khn mặt diện, bỏ qua khn mặt, kết gần tuyệt đối mặt quay nghiêng bị che phần + Thời gian thực

Ngày đăng: 08/12/2022, 04:18

Xem thêm:

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w