1. Trang chủ
  2. » Luận Văn - Báo Cáo

ĐỒ ÁN CƠ SỞ - ĐỀ TÀI: XÂY DỰNG PHẦN MỀM NHẬN DIỆN KHUÔN MẶT

25 38 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

Thông tin cơ bản

Định dạng
Số trang 25
Dung lượng 1,2 MB

Nội dung

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG VIỆT - HÀN KHOA KHOA HỌC MÁY TÍNH ĐỒ ÁN CƠ SỞ ĐỀ TÀI: XÂY DỰNG PHẦN MỀM NHẬN DIỆN KHUÔN MẶT Sinh viên thực : HÀ THANH VINH LÊ THỊ MINH CHAU Giảng viên hướng dẫn : TS LÊ VĂN MINH Lớp : 18IT1 Đà Nẵng, tháng 05 năm 2021 TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG VIỆT – HÀN KHOA KHOA HỌC MÁY TÍNH ĐỒ ÁN CƠ SỞ ĐỀ TÀI: XÂY DỰNG PHẦN MỀM NHẬN DIỆN KHUÔN MẶT Đà Nẵng, tháng 05 năm 2021 MỞ ĐẦU Thế giới ngày có nhiều phát triển mạnh mẽ công nghệ thông tin (CNTT) Từ tiềm thông tin trở thành tài nguyên thật sự, trở thành hàng hóa xã hội tạo thay đổi to lớn lực lượng sản xuất, sở hạ tầng, cấu trúc kinh tế, tính chất lao động cách thức quản lý lĩnh vực xã hội Sự phát triển internet đưa người vao kỷ nguyên xa lộ thông tin mạng Thông qua mạng internet người mua bán hàng hóa, trao đổi thơng tin rộng rãi tồn cầu Máy tính trở nên gần gũi với sống chúng ta, tăng khả tiếp cận hỗ trợ cơng việc khó khăn phức tạp lĩnh vực sống nói chung cơng tác quản lí doanh nghiệp, quan nói riêng bảo mật thơng tin, xem cơng tác quản lí doanh nghiệp Đã có nhiều phần mềm xây dựng để phục vụ cho tính chất phức tạp sống nói chung cơng tác quản lí doanh nghiệp, quan Trong suốt trình học tập, chúng em thầy cô cung cấp truyền đạt kiến thức cần thiết lĩnh vực công nghệ thông tin Trong khuôn khổ đồ án môn học hướng dẫn thây giáo, tích lũy kiến thức nhóm em xây dựng đề tài “ Phần mềm nhận diện khuôn mặt “ ngôn ngữ Python LỜI CẢM ƠN Chúng em xin gửi lời cảm ơn chân thành sâu sắc đến thầy cô đặc biệt giảng viên TS Lê Văn Minh thời gian qua giúp đỡ chúng em việc hoàn thành báo cáo đồ án sở Mặc dù gặp nhiều khó khăn việc hồn thành đồ án này, nhiên chúng em cố gắng để thực hoàn chỉnh báo cáo Tuy nhiên, chưa có đầy đủ kỹ kinh nghiệm để hoàn thành báo cáo đồ án nên em cịn nhiều thiếu sót Rất mong đóng góp ý kiến thầy để báo cáo đồ án hoàn thiện hơn, chúng em xin chân thành cảm ơn NHẬN XÉT (Của giảng viên hướng dẫn) … …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… ………………………………………………………………………………… Chữ ký giáo viên hướng dẫn MỤC LỤC CHƯƠNG 1: GIỚI THIỆU 1 Tổng quan đề tài 1.1 Lý chọn đề tài 1.2 Mục dích đề tài .1 1.3 Đối tượng phạm vi nghiên cứu đề tài .2 1.4 Bài tốn nhận diện khn mặt khó khăn 1.5 Nhận dạng (Recognition) hay Phân lớp khuôn mặt (Face Clasaification) CHƯƠNG 2: TỔNG QUAN VỀ XỬ LÝ ẢNH 2.1 Xử lý ảnh, vấn đề xử lý ảnh 2.1.1 Xử lý ảnh (XLA) ? .7 2.1.2 Các vấn đề xử lý ảnh 10 2.2 Quan hệ điểm ảnh .10 2.2.2 Các mối liên kết điểm ảnh 11 2.2.3 Đo khoảng cách điểm ảnh 11 3.1 Phân tich thiết kế hệ thống 12 3.2 Demo kết 13 3.2.1 Demo code 13 3.2.2 Demo sản phẩm 15 KẾT LUẬN 16 DANH MỤC TÀI LIỆU THAM KHẢO 17 DANH MỤC CÁC BẢNG DANH MỤC HÌNH Hình 1: Hệ thống nhận dạng mặt người .2 Hình 2: Các bước hệ thống nhận dạng khn mặt .3 Hình 3: Ngôn ngữ Python Hình 4: Visual Studio Code Hình 5: Thư viện OpenCV Hình 6: Các thành phần thư viện OpenCV Hình 7: Quá trình xử lý ảnh Hình 8: Các bước hệ thống xử lý ảnh .7 Hình 9: Sơ đồ phân tích, xử lý ảnh lưu đồ thơng tin khối .10 Hình 10: Lân cận điểm ảnh tọa độ (x, y) .11 Hình 11: Sơ đồ ngữ cảnh hệ thống 12 Hình 12: Sơ đồ khối thực chương trình 12 Hình 13: Sơ đồ hoạt động 13 DANH MỤC CỤM TỪ VIẾT TẮT STT Cụm từ Viết tắt CHƯƠNG 1: GIỚI THIỆU Tổng quan đề tài 1.1 Lý chọn đề tài Với phát triển không ngừng khoa học công nghệ, đặc biệt với điện thoại thông minh (smartphone) ngày đại sử dụng phổ biến đời sống người làm cho lượng thơng tin thu hình ảnh ngày tăng Theo đó, lĩnh vực xử lý ảnh trọng phát triển, ứng dụng rộng rãi đời sống xã hội đại Không dừng lại việc chỉnh sửa, tăng chất lượng hình ảnh mà với công nghệ xử lý ảnh giải tốn nhận dạng chữ viết, nhận dạng dấu vân tay, nhận dạng khuôn mặt… Một toán nhiều người quan tâm lĩnh vực xử lý ảnh nhận dạng khn mặt (Face Recognition) Như biết, khn mặt đóng vai trị quan trọng q trình giao tiếp người với người, mang lượng thơng tin giàu có, chẳng hạn từ khn mặt xác định giới tính, tuổi tác, chủng tộc, trạng thái cảm xúc, đặc biệt xác định mối quan hệ với đối tượng (có quen biết hay khơng) Do đó, tốn nhận dạng khn mặt đóng vai trị quan trọng nhiều lĩnh vực đời sống ngày người hệ thống giám sát, quản lý vào ra, tìm kiếm thông tin người tiếng,…đặc biệt an ninh, bảo mật Có nhiều phương pháp nhận dạng khuôn mặt để nâng cao hiệu suất nhiên dù hay nhiều phương pháp vấp phải thử thách độ sáng, hướng nghiêng, kích thước ảnh, hay ảnh hưởng tham số môi trường Bài tốn Nhận diện khn mặt (Face Recognition) bao gồm nhiều toán khác như: phát mặt người (face detection), đánh dấu (facial landmarking), trích chọn (rút) đặc trưng (feature extration), gán nhãn, phân lớp (classification) Trong thực tế, nhận dạng khuôn mặt người (Face Recognition) hướng nghiên cứu nhiều nhà khoa học quan tâm, nghiên cứu để ứng dụng thực tiễn Ở trường đại học hàng đầu Công Nghệ Thông Tin Massachusetts Institute of Technology (MIT), Carnegie Mellon University (CMU), Standford, Berkeley công ty lớn Microsoft, Apple, Google, Facebook có trung tâm sinh trắc học (Biometrics Center) nghiên cứu nhận dạng khuôn mặt người trở thành lĩnh vực nghiên cứu Gần đây, cơng ty Hitachi Kokusai Electric Nhật cho đời camera giám sát, chụp ảnh tìm 36 triệu khn mặt khác có nét tương tự sở liệu vòng giây Có hai phương pháp nhận dạng phổ biến nhận dạng dựa đặc trưng phần tử khuôn mặt biến đổi Gabor Wavelet mạng Neural, SVM,…và nhận dạng dựa xét tổng thể tồn khn mặt phương pháp PCA, LDA, LFA Trong đó, PCA phương pháp trích rút đặc trưng nhằm giảm số chiều ảnh đơn giản mang lại hiệu tốt Hệ thống hoạt động ổn định có tính thích nghi cao liệu đầu vào thay đổi nhiều 1.2 Mục dích đề tài - Xây dựng dự án phần mềm ứng dụng nhận dạng khn mặt - Tìm hiểu thư viện OpenCv - Tìm hiểu phương pháp xác định khuôn mặt (Face Detection) - Nghiên cứu phương pháp phân tích thành phần (Principal Component AnalysisPCA) 1.3 Đối tượng phạm vi nghiên cứu đề tài a) Đối tượng: - Các phương pháp, thuật toán phục vụ cho việc phát nhận dạng khuôn mặt người realtime - Bộ thư viện xử lý ảnh OpenCv - Bộ CSDL sinh viên tự thu thập b) Phạm vi nghiên cứu: - Tập trung tìm hiểu nhận dạng khn mặt (Face Recognition) khơng trọng tìm hiểu phát khuôn mặt (Face Detection) - Việc xử lý ảnh, nhận dạng khuôn mặt thỏa mãn điều kiện: - Ánh sáng bình thường, ngược sáng, ánh sáng đèn điện (Với CSDL tự thu thập) - Góc ảnh: Trực diện (frontal) góc nghiêng khơng q 10o - Khơng bị che khuất (no occulusion) - Ảnh có chất lượng cao (high quality images) 1.4 Bài tốn nhận diện khn mặt khó khăn 1.4.1 Bài tốn nhận diện mặt người Hệ thống nhận dạng mặt người hệ thống nhận vào ảnh đoạn video (một dịng hình ảnh liên tục) Qua xử lý, tính tốn hệ thống xác định vị trí mặt người (nếu có) ảnh xác định người số người mà hệ thống biết (qua trình học) người lạ Hình 1: Hệ thống nhận dạng mặt người Bài toán nhận dạng mặt người toán nghiên cứu từ năm 70 Tuy nhiên, tốn khó nên nghiên cứu chưa đạt kết mong muốn Chính thế, vấn đề nhiều nhóm giới quan tâm nghiên cứu Khó khăn tốn nhận dạng mặt người kể đến sau: a) Tư chụp, góc chụp: Ảnh chụp khn mặt thay đổi nhiều góc chụp camera khn mặt Chẳng hạn như: chụp thẳng, chụp chéo bên trái 45o hay chụp chéo bên phải 45o , chụp từ xuống, chụp từ lên, v.v… Với tư khác nhau, thành phần khn mặt mắt, mũi, miệng bị khuất phần chí khuất hết b) Sự xuất thiếu số thành phần khuôn mặt: Các đặc trưng như: râu mép, râu hàm, mắt kính, v.v… xuất khơng Vấn đề làm cho toán trở nên khó nhiều c) Sự biểu cảm khn mặt: Biểu cảm khn mặt người làm ảnh hưởng đáng kể lên thông số khuôn mặt Chẳng hạn, khuôn mặt người, khác họ cười sợ hãi, v.v… d) Sự che khuất: Khn mặt bị che khuất đối tượng khác khuôn mặt khác e) Hướng ảnh (pose variations): Các ảnh khn mặt biến đổi nhiều với góc quay khác trục camera Chẳng hạn chụp với trục máy ảnh nghiêng làm cho khuôn mặt bị nghiêng so với trục ảnh f) Điều kiện ảnh: Ảnh chụp điều kiện khác về: chiếu sáng, tính chất camera (máy kỹ thuật số, máy hồng ngoại, v.v…), ảnh có chất lượng thấp ảnh hưởng nhiều đến chất lượng ảnh khuôn mặt g) Aging condition: Việc nhận dạng ảnh mặt thay đổi theo thời gian vấn đề khó khăn, khả nhận dạng người 1.4.2 Tổng quan kiến trúc hệ thống nhận dạng mặt người Một hệ thống nhận dạng mặt người thông thường bao gồm bốn bước xử lý sau: Phát khuôn mặt (Face Detection) Phân đoạn khn mặt (Face Alignment hay Segmentation) Trích chọn đặc trưng (Feature Extraction) 1.5 Nhận dạng (Recognition) hay Phân lớp khn mặt (Face Clasaification) Hình 2: Các bước hệ thống nhận dạng khn mặt Phát khn mặt dị tìm, định vị vùng (vị trí) khn mặt xuất ảnh frame video Các vùng tách riêng để xử lý Phân đoạn khuôn mặt xác định vị trí mắt mũi, miệng thành phần khác khuôn mặt chuyển kết cho bước trích chọn đặc trưng Ở bước trích chọn đặc trưng, phương pháp trích chọn đặc điểm (mẫu nhị phân cục bộ-Local Binary Pattern-LBP, Gabor wavelets…) sử dụng với ảnh mặt để trích xuất thông tin đặc trưng cho ảnh từ thông tin thành phần khuôn mặt, kết ảnh biểu diễn dạng vector đặc trưng (feature vector) Những vecto đặc trưng liệu đầu vào cho mô hình huấn luyện trước để nhận dạng khn mặt (Face Recognition) hay phân lớp khuôn mặt (Face Classifition), tức xác định danh tính (identity) hay nhãn ảnh-đó ảnh Ở bước nhận dạng khn mặt (Face Recognition), thường phương pháp k-láng giềng gần (k-nearest neighbor:kNN) sử dụng Bên cạnh bước nêu trên, cịn áp dụng thêm số bước khác tiền xử lý, hậu xử lý nhằm làm tăng độ xác cho hệ thống Ví dụ, sau bước phát khn mặt, ta thực bước tiền xử lý (Preprocessing) bao gồm bước chỉnh ảnh (face image alignment) chuẩn hóa ánh sáng (illumination normalization) Do số thơng số như: tư khuôn mặt, độ sáng, điều kiện ánh sáng, v.v… phát khuôn mặt đánh giá bước khó khăn quan trọng so với bước lại hệ thống Tuy nhiên, phạm vi đồ án này, khơng tập trung tìm hiểu bước phát khuôn mặt mà tập trung chủ yếu vào bước nhận dạng khuôn mặt Dữ liệu cho hệ thống nhận dạng mặt chia làm tập: tập huấn luyện (training set), tập tham chiếu (reference set haygallery set) tập để nhận dạng (probe set hay query set, đơi cịn gọi test set) Trong nhiều hệ thống, tập training trùng với tập reference Tập training gồm ảnh dùng để huấn luyện (hay học-learning), thông thường tập dùng để sinh không gian (projection subspace) ma trận phương pháp hay sử dụng PCA (Principal Component Analysis), WPCA (Whitened PCA), LDA (Linear Discriminant Analysis), KPCA (Kernel PCA) Tập reference gồm ảnh biết danh tính chiếu (projected) vào khơng gian bước training Bước training nhằm mục đích: giảm số chiều (dimension reduction) vector đặc điểm (feature vector) vector thường có độ dài lớn (vài nghìn tới vài trăm nghìn) nên để nguyên việc tính tốn rất lâu, thứ hai làm tăng tính phân biệt (discriminative) ảnh khác lớp (định danh khác nhau), ngồi làm giảm tính phân biệt ảnh thuộc lớp (tùy theo phương pháp, ví dụ Linear Discriminant Analysis LDA- gọi Fisher Linear Discriminant Analysis-Fisherface phương pháp làm việc với tập training mà đối tượng có nhiều ảnh mặt điều kiện khác nhau) Sau thực chiếu tập reference vào không gian con, hệ thống lưu lại kết ma trận với cột ma trận vector tương ứng với ảnh (định danh biết) để thực nhận dạng (hay phân lớp) Nhận dạng (hay phân lớp) thực với tập ảnh probe, sau tiền xử lý xong, ảnh áp dụng phương pháp trích chọn đặc điểm (như với ảnh thuộc tập training reference) chiếu vào không gian Tiếp đến việc phân lớp dựa phương pháp k-NN, định danh ảnh cần xác định gán định danh ảnh có khoảng cách (distance) gần với Ở cần lưu ý ảnh vector nên dùng khái niệm hàm khoảng cách hai vector để đo khác biệt ảnh 1.5.1 Ngơn ngữ lập trình Để giải tốn nhận dạng khn mặt sử dụng thư viện OpenCV, sử dụng ngơn ngữ lập trình như: NET C#, VB, IronPython, Java, C+ +… Trong đồ án ngơn ngữ lập trình sử dụng Python viết phần mềm Visual Studio Code Hình 3: Ngơn ngữ Python 1.5.2 Mơi trường lập trình Hình 4: Visual Studio Code - Visual Studio Code trình soạn thảo mã nguồn miễn phí Microsoft tạo cho Windows, Linux macOS Các tính bao gồm hỗ trợ gỡ lỗi, tô sáng cú pháp, hồn thành mã thơng minh, đoạn mã, cấu trúc lại mã Git nhúng Người dùng thay đổi chủ đề, phím tắt, tùy chọn cài đặt tiện ích mở rộng bổ sung chức - Visual Studio Code bao gồm hỗ trợ cho hầu hết ngơn ngữ lập trình phổ biến Hỗ trợ bao gồm tô sáng cú pháp, đối sánh dấu ngoặc, gấp mã đoạn mã định cấu hình Visual Studio Code kèm với IntelliSense cho JavaScript, TypeScript, JSON, CSS HTML, hỗ trợ gỡ lỗi cho Node.js 1.5.3 Làm quen với thư viện OpenCV Hình 5: Thư viện OpenCV a) OpenCV gì? OpenCV (Open Source Computer Vision) thư viện mã nguồn mở thị giác máy với 500 hàm 2500 thuật toán tối ưu XLA, vấn đề liên quan tới thị giác máy OpenCv thiết kế cách tối ưu, sử dụng tối đa mạnh dòng chip đa lõi… để thực phép tính tốn thời gian thực, nghĩa tốc độ đáp ứng thể đủ nhanh cho ứng dụng thơng thường b) Cấu trúc tổng quan Hình 6: Các thành phần thư viện OpenCV CHƯƠNG 2: TỔNG QUAN VỀ XỬ LÝ ẢNH 2.1 Xử lý ảnh, vấn đề xử lý ảnh 2.1.1 Xử lý ảnh (XLA) ? - Con người thu nhận thông tin qua giác quan, thị giác đóng vai trị quan trọng Những năm trở lại với phát triển phần cứng máy tính, XLA đồ họa phát triển cách mạnh mẽ có nhiều ứng dụng sống XLA đồ họa đóng vai trị quan trọng tương tác người máy - Quá trình XLA xem trình thao tác ảnh đầu vào nhằm cho kết mong muốn Kết đầu q trình XLA ảnh “tốt hơn” kết luận Hình 7: Q trình xử lý ảnh - Ảnh xem tập hợp điểm ảnh điểm ảnh xem đặc trưng cường độ sáng hay dấu hiệu vị trí đối tượng khơng gian xem hàm n biến P(c1, c2, …, cn) Do đó, ảnh XLA xem ảnh n chiều Sơ đồ tổng quát hệ thống XLA: Hình 8: Các bước hệ thống xử lý ảnh a Phần thu nhận ảnh (Image Acquisition) - Ảnh nhận qua camera màu đen trắng Thường ảnh nhận qua camera ảnh tương tự (loại camera ống chuẩn CCIR với tần số 1/25, ảnh 25 dịng), có loại camera số hóa (như loại CCD-Change Coupled Device) loại photodiot tạo cường độ sáng điểm ảnh - Camera thường dùng loại quét dòng; ảnh tạo có dạng hai chiều Chất lượng ảnh thu nhận phụ thuộc vào thiết bị thu, môi trường (ánh sáng, thời tiết) b Tiền xử lý (Image Processing) - Sau thu nhận, ảnh bị nhiễu, độ tương phản thấp nên cần đưa vào tiền xử lý để nâng cao chất lượng Chức tiền xử lý lọc nhiễu, nâng độ tương phản để làm ảnh rõ, nét c Phân đoạn (Segmentation) hay phân vùng ảnh - Phân vùng ảnh tách ảnh đầu vào thành vùng thành phần để biểu diễn phân tích, nhận dạng ảnh Ví dụ: để nhận dạng chữ (hoặc mã vạch) phong bì thư cho mục đích phân loại bưu phẩm, cần chia câu, chữ, địa tên người thành từ, chữ, số (hoặc vạch) riêng biệt để nhận dạng Đây phần phức tạp khó khăn XLA dễ gây lỗi, làm độ xác ảnh Kết nhận dạng ảnh phụ thuộc nhiều vào công đoạn d Biểu diễn ảnh (Image Representation) - Đầu ảnh sau phân đoạn chứa điểm ảnh vùng ảnh (ảnh phân đoạn) cộng với mã liên kết với vùng lân cận Việc chọn tính chất để thể ảnh gọi trích chọn đặc trưng (Feature Selection) gắn với việc tách đặc tính ảnh dạng thông tin định lượng làm sở để phân biệt lớp đối tượng với đối tượng khác phạm vi ảnh nhận Ví dụ: nhận dạng ký tự phong bì thư, miêu tả đặc trưng ký tự giúp phân biệt ký tự với ký tự khác e Nhận dạng ảnh nội suy ảnh (Image Recognition and Interpretation) - Nhận dạng ảnh trình xác định ảnh Quá trình thường thu cách so sánh với mẫu chuẩn học (hoặc lưu từ trước) Nội suy phán đoán theo ý nghĩa sở nhận dạng Ví dụ: loạt chữ số nét gạch ngang phong bì thư nội suy thành mã điện thoại Có nhiều cách phân loại ảnh khác ảnh Theo lý thuyết nhận dạng, mơ hình tốn học ảnh phân theo hai loại nhận dạng ảnh bản: + Nhận dạng theo tham số + 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 dạng mã vạch, nhận dạng mặt người… f Cơ sở tri thức (Knowledge Base) - Như nói trên, ảnh đối tượng phức tạp đường nét, độ sáng tối, dung lượng điểm ảnh, môi trường để thu ảnh phong phú kéo theo nhiễu Trong nhiều khâu xử lý phân tích ảnh ngồi việc đơn giản hóa phương pháp tốn học đảm bảo tiện lợi cho xử lý, người ta mong muốn bắt chước quy trình tiếp nhận XLA theo cách người Trong bước xử lý đó, nhiều khâu xử lý theo phương pháp trí tuệ người Vì vậy, sở tri thức phát huy g Mô tả (biểu diễn ảnh) - Từ hình 9, ảnh sau số hóa lưu vào nhớ, chuyển tiếp sang khâu để phân tích Nếu lưu trữ ảnh trực tiếp từ ảnh thơ, địi hỏi dung lượng nhớ cực lớn, không hiệu theo quan điểm ứng dụng công nghệ Thông thường, ảnh thơ đặc tả (biểu diễn lại hay đơn giản mã hóa) theo đặc điểm ảnh gọi đặc trưng ảnh (Image Feature như: biên ảnh (Boundary), vùng ảnh (Region) Một số phương pháp biểu diễn thường dùng: + Biểu diễn mã chạy (Run-Length Code) + Biểu diễn mã xích (Chaine-Code) + Biểu diễn mã tứ phân (Quad-Tree Code) - Trên thành phần khâu XLA Trong thực tế, trình sử dụng ảnh số khơng thiết phải qua hết khâu đó, tùy theo đặc điểm ứng dụng Hình cho sơ đồ phân tích, XLA lưu đồ thơng tin khối cách đầy đủ Ảnh sau số hóa, nén, lưu lại để truyền qua hệ thống khác sử dụng xử lý Mặt khác, ảnh sau số hóa bỏ qua công đoạn nâng cao chất lượng (khi ảnh đủ chất lượng theo yêu cầu đó) để chuyển tới khâu phân đoạn bỏ tiếp khâu phân đoạn chuyển trực tiếp tới khâu trích chọn đặc trưng Hình chia nhánh song song như: nâng cao chất lượng ảnh có hai nhánh phân biệt: nâng cao chất lượng ảnh (tăng độ sáng, độ tương phản, lọc nhiễu) khôi phục ảnh (hồi phục lại ảnh thật ảnh gốc bị hỏng) v.v… Hình 9: Sơ đồ phân tích, xử lý ảnh lưu đồ thơng tin khối 2.1.2 Các vấn đề xử lý ảnh 2.1.2.1 Một số khái niệm - Điểm ảnh (Pixcel) phần tử ảnh số tọa độ (x, y) với độ xám màu định Kích thước khoảng cách điểm ảnh chọn thích hợp cho mắt người cảm nhận liên tục không gian mức xám (hoặc màu) ảnh số gần ảnh thật Mỗi phần tử ma trận gọi phần tử ảnh - Độ phân giải (Resolution) ảnh mật độ điểm ảnh ấn định ảnh số hiển thị - Mức xám điểm ảnh cường độ sáng gán giá trị số điểm + Các thang mức xám thông thường: 16,32,64,128, 256 (Mức 256 mức phổ dụng, biểu diễn: 28 = 256, tức từ đến 255) + Ảnh đen trắng: Là ảnh có hai màu đen, trắng (khơng chứa mầu khác) với mức xám điểm ảnh khác  + Ảnh nhị phân: Ảnh có hai mức đen trắng phân biệt, tức dùng bit mô tả 21 mức khác Nói cách khác: điểm ảnh ảnh nhị phân + Ảnh màu: Trong khuôn khổ lý thuyết màu (Red, Blue, Green) để tạo nên giới màu, người ta thường dùng byte để mô tả mức màu, giá trị màu: 28*3 = 224 ≈ 16,7 triệu màu - Ảnh số tập hợp điểm ảnh với mức xám phù hợp dùng để mô tả ảnh gần với ảnh thật 2.2 Quan hệ điểm ảnh 2.2.1 Các lân cận điểm ảnh - Giả sử có điểm ảnh p tọa độ (x, y) có điểm lân cận gần theo chiều đứng ngang (có thể coi lân cận hướng chính: Đơng, Tây, Nam, Bắc) {( x-1,y); (x, y-1); (x+1, y); (x, y+1)}= N4(p) 10 - Trong đó, số giá trị logic; N4(p): tập điểm lân cận p Hình 10: Lân cận điểm ảnh tọa độ (x, y) - Các lân cận chéo: Các điểm lân cận chéo Np(P) (Có thể coi lân cận chéo hướng: Đông-Nam, Đông-Bắc, Tây-Nam, Tây-Bắc) Np(P) = {(x+1,y+1); (x+1, y-1); (x-1, y+1); (x-1, y-1)} + Tập kết hợp: N8(p) = N4(p) + Np(p) tập hợp lân cận điểm ảnh p + Chú ý: Nếu (x, y) nằm biên (mép) ảnh; số điểm nằm ảnh 2.2.2 Các mối liên kết điểm ảnh - Các mối liên kết xác định để xác định giới hạn (Boundaries) đối tượng vật thể xác định vùng ảnh Một liên kết đặc trưng tính liền kề điểm mức xám chúng - Có loại liên kết + Liên kết 4: Hai điểm ảnh p q nói liên kết với giá trị cường độ sáng V q nằm lân cận p, tức p thuộc N4(p) + Liên kết 8: Hai điểm ảnh p q nằm lân cận p, tức q thuộc N8(p) + Liên kết m (liên kết hỗn hợp): Hai điểm ảnh p q với giá trị cường độ sáng V nói liên kết m nếu: q thuộc N4(p) q thuộc Np(p) 2.2.3 Đo khoảng cách điểm ảnh - Định nghĩa: Khoảng cách D(p) hai điểm ảnh p tọa độ (x, y), q tọa độ (s, t) hàm khoảng cách (Distance) Metric nếu: D(p,q) ≥ (Với D(p,q) = p = q) D(p,q) = D (p, q) D(p, z) ≤ D(p,q) + D(q, z); z điểm ảnh khác - Khoảng cách Euclide: Khoảng cách Euclide hai điểm ảnh p(x, y) q(s, t) định nghĩa sau: De(p,q) = [(x - s)2 + (y – t)2] 1/2 - Khoảng cách khối: Khoảng cách D4(p,q) gọi khoảng cách khối đồ thị (City-Block Distance) xác định sau: D4(p,q) = |x - s| + |y - t| 11 CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH 3.1 Phân tich thiết kế hệ thống 3.1.1 Đối tượng sử dụng - User ( người dùng) 3.1.2 Chức - Nhận diện khn mặt - Điểm danh hình thức nhận diện khn mặt 3.1.3 Phân tích - Nhiệm vụ chương trình nhận dạng khuôn mặt người xem khuôn mặt có biết đến hay chưa Ngồi ra, chương trình cịn thực cơng việc phát hiện, tách khn mặt người (nếu có) từ ảnh tĩnh, từ frame ảnh thu từ camera Sau đó, lưu vào CSDL Hình 11: Sơ đồ ngữ cảnh hệ thống 3.1.4 Sơ đồ khối thực chương trình Hình 12: Sơ đồ khối thực chương trình 12 3.1.5 Sơ đồ hoạt động Hình 13: Sơ đồ hoạt động 3.2 Demo kết 3.2.1 Demo code a) face.py import numpy as np import cv2 import pickle total = 430 face_cascade = cv2.CascadeClassifier('F:\Do an 5\cascades\data\haarcascade_frontalface_alt2.xml') recognizer = cv2.face.LBPHFaceRecognizer_create() recognizer.read("trainner.yml") with open("labels.pickle","rb") as f: og_labels = pickle.load(f) labels ={v:k for k,v in og_labels.items()} cap = cv2.VideoCapture(0,cv2.CAP_DSHOW) while(True): #Capture frame by frame ret, frame = cap.read() gray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY) faces = face_cascade.detectMultiScale(gray, scaleFactor=1.3, minNeighbors=5) for( x, y, w, h) in faces: print(x,y,w,h) roi_gray = gray[y:y+h, x:x+w] roi_color = frame[y:y+h,x:x+w] id_, conf = recognizer.predict(roi_gray) if conf>=45 and conf

Ngày đăng: 03/03/2022, 02:09

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w