Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 87 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
87
Dung lượng
12,7 MB
Nội dung
ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM LÊ THỊ PHƯƠNG NGÂN NGUYẾN TIẾN TRUNG KHÓA LUẬN TỐT NGHIỆP XÂY DỰNG HỆ THỐNG NHẬN DIỆN NGƯỜI NỔI TIẾNG Ở VIỆT NAM CHO MẠNG XÃ HỘI LOTUS BUILDING VIETNAMESE CELEBRITY FACE RECOGNITION SYSTEM FOR LOTUS - VIETNAM SOCIAL NETWORK KỸ SƯ NGÀNH KỸ THUẬT PHẦN MỀM TP HỒ CHÍ MINH, 2021 VIETNAM NATIONAL UNIVERSITY - HO CHI MINH CITY UNIVERSITY OF INFORMATION TECHNOLOGY SOFTWARE ENGINEERING UNDERGRADUATE THESIS BUILDING VIETNAMESE CELEBRITY FACE RECOGNITION SYSTEM FOR LOTUS - VIETNAM SOCIAL NETWORK INSTRUCTORS: M.S DO VAN TIEN STUDENTS: LE THI PHUONG NGAN - 16520792 NGUYEN TIEN TRUNG - 16521321 Ho Chi Minh City, 2021 THƠNG TIN HỘI ĐỒNG CHẤM KHĨA LUẬN TỐT NGHIỆP Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số …………………… ngày ………………… Hiệu trưởng Trường Đại học Công nghệ Thông tin ………………………………………… – Chủ tịch ………………………………………… – Thư ký ………………………………………… – Ủy viên ………………………………………… – Ủy viên ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC Độc Lập - Tự Do - Hạnh Phúc CÔNG NGHỆ THÔNG TIN TP HCM, ngày… tháng… năm…… NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP (CỦA CÁN BỘ HƯỚNG DẪN/PHẢN BIỆN) Tên khóa luận: XÂY DỰNG HỆ THỐNG NHẬN DIỆN NGƯỜI NỔI TIẾNG Ở VIỆT NAM CHO MẠNG XÃ HỘI LOTUS Nhóm SV thực hiện: Cán hướng dẫn/phản biện: Lê Thị Phương Ngân 16520792 Nguyễn Tiến Trung 16521321 Ths Đỗ Văn Tiến Đánh giá Khóa luận Về báo cáo: Số trang Số bảng số liệu Số tài liệu tham khảo _ _ _ Số chương Số hình vẽ Sản phẩm Một số nhận xét hình thức báo cáo: Về nội dung nghiên cứu: _ _ _ Về chương trình ứng dụng: Về thái độ làm việc sinh viên: Đánh giá chung:Khóa luận đạt/khơng đạt u cầu khóa luận tốt nghiệp kỹ sư/ cử nhân, xếp loại Giỏi/ Khá/ Trung bình Điểm sinh viên: Lê Thị Phương Ngân: ……… /10 Nguyễn Tiến Trung: ……… /10 Người nhận xét (Ký tên ghi rõ họ tên) ĐỖ VĂN TIẾN ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC Độc Lập - Tự Do - Hạnh Phúc CÔNG NGHỆ THÔNG TIN TP HCM, ngày… tháng… năm…… NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP (CỦA CÁN BỘ PHẢN BIỆN) Tên khóa luận: XÂY DỰNG HỆ THỐNG NHẬN DIỆN NGƯỜI NỔI TIẾNG Ở VIỆT NAM CHO MẠNG XÃ HỘI LOTUS Nhóm SV thực hiện: Cán hướng dẫn/phản biện: Lê Thị Phương Ngân 16520792 Nguyễn Tiến Trung 16521321 Đánh giá Khóa luận Về báo cáo: Số trang Số bảng số liệu Số tài liệu tham khảo _ _ _ Số chương Số hình vẽ Sản phẩm Một số nhận xét hình thức báo cáo: Về nội dung nghiên cứu: _ _ _ Về chương trình ứng dụng: Về thái độ làm việc sinh viên: Đánh giá chung:Khóa luận đạt/khơng đạt u cầu khóa luận tốt nghiệp kỹ sư/ cử nhân, xếp loại Giỏi/ Khá/ Trung bình Điểm sinh viên: Lê Thị Phương Ngân: ……… /10 Nguyễn Tiến Trung: ……… /10 Người nhận xét (Ký tên ghi rõ họ tên) We would like to give our thesis for those who always help and teach us useful knowledge during the time we complete our thesis, for those who always inspire us when we face difficult problems and for our beloved family who always facilitate us to complete our entire study ACKNOWLEDGEMENTS Firstly, we specially would like to show our appreciation and thank M.S Do Van Tien so much for instructing, helping and making pieces of useful advice for us The conscientious instructors have taught us a lot of knowledge, along with various skills to complete our undergraduate thesis Lastly, we thank our family and friends of the KTPM2016 class for always inspiring us through the time we studied at University of Information Technology Ho Chi Minh City, - 2021 Le Thi Phuong Ngan - Nguyen Tien Trung Contents Contents iii List of Figures vii List of Tables x Nomenclature xi INTRODUCTION 1.1 Problem statements 1.2 Goals and scope 1.2.1 Goals 1.2.2 Scope 1.3 Contributions 1.4 Outline RELATED WORKS 2.1 Introduction 2.2 Image processing face recognition 2.3 The methods face recognition 10 2.3.1 Classical face recognition algorithms 10 2.3.2 Deep learning for face recognition 11 2.4 Face recognition applications 11 2.5 Conclusion 12 iii 5.5 Processing flow Figure 5.8: Processing flow system For the thesis application, the processing flow system will be dealt with as follows: • (1): First, the user will follow the procedure on the website • (2): Website sends user requests to the server to process and display images that have just been uploaded in a pending state • (3): At the server, validation steps are carried out, after image validation valid, server will to interact model to request enforcement • (4): At server-model, the server uses face detection model in the image and then use face recognition model to recognition the faces detected in the previous step • (5): After the server-model has finished processing, the results are sent back to the server • (6): Server receives the results from the server-model, the results standardized and sent to the website • (7): When the Website receives the response from the server, the website displays the recognition result to the user according to bounding box frame of detected face and name of celebrity 55 5.6 System architecture The system is developed on a web-based basis in a client-server (Figure 4.9: Clientserver architecture) and communicates via Restfull API Meanwhile, client and server development will be completely separate and easy to deploy according to the purpose Our client-side system we develop is based on the React.js library On the server side, Figure 5.9: Client-server architecture we use Flask The use of Flask makes it easier to use models in particular, and deep learning techniques in general, because they all use the same Python programming language.The system architecture is detailed in the Figure 4.10 56 Figure 5.10: The face recognition celebrity system architecture 5.6.1 The celebrity recognition system API in Vietnam • API: /getcelebs Methods: GET – Input parameter: Name Data Type Decription Table 5.3: Input paramenter API: /getcelebs – Result: • API: /predict 57 Name listCelebs Data Type Arrays Decription An array of celebrity lists Table 5.4: Results API: /getcelebs Methods: POST – Input parameter: Name base64 link Data Type String String Decription The image in base64 form Image URL Table 5.5: Input paramenter API: /predict – Result: Name labels Data Type Arrays base64 info String String Decription Celebrity names are recognized in the images The image in base64 form Information of celebrity people on the Internet Table 5.6: Results API: /predict • API: /search Methods: POST – Input parameter: Name files[] name Data Type MultipartFile String Decription List of upload images Name of the celebrity person Table 5.7: Input paramenter API: /search – Result: Name image base64 Data Type Arrays Arrays Decription Label file image The image in base64 form Table 5.8: Results API: /search • API: /checkname Methods: POST 58 – Input parameter: Name name Data Type String Decription The name of the celebrity person need check Table 5.9: Input paramenter API: /checkname – Result: Name message Data Type String Decription Notification of results Table 5.10: Results API: /checkname • API: /addceleb Methods: POST – Input parameter: Name file[] name Data Type MultipartFile String Decription List of upload images Name of the new person Table 5.11: Input paramenter API: /addceleb – Result: Name message Data Type String Decription Notification of results Table 5.12: Results API: /addceleb 5.7 Interface 5.7.1 Screen Details Description 5.7.1.1 Home Page 59 Figure 5.11: Screens flow diagram of the application that celebrity recognition in images.1 Number Screen Home page Predict page Search page Celebrity add page Decription User selects functions and displays a list of celebrities in Vietnam Allows users to upload pictures from a computer or link images from the internet to identify celebrity people in images there Allows the user to find a celebrity on a list of images uploaded from the computer Add the system to recognition any person Table 5.13: Table List Screen 60 Figure 5.12: Home Page.1 5.7.1.2 Predict Page 61 Name btnDemo Data Type Button btnSearch Button btnAddCeleb TableCelebs Button Table Decription The button performs celebrity recognition in the image The button performs celebrity to search in the image list The button adds recognition to the system The table displays a list of celebrity people in the system Table 5.14: Parameters in Home Page Figure 5.13: Predict Page Name uploadImage imageURL image btnSubmint Data Type InputFile Input Image Button btnClean Button tableResult Table Decription Select an image from the device directory The box enters the path links to the image The image display area is selected from the user The button performs celebrity recognition in the uploaded user image The button performs delete the displayed image, the table’s result Table showing identification results Table 5.15: Parameters in Predict Page 62 5.7.1.3 Search Page Figure 5.14: Search Page Name uploadImages selectName btnSubmint Data Type Upload Select Button btnClean Button tableResult Table Decription Selection and display of the user’s image pick The user picks a celebrity person in the system The button performs celebrity search in the uploaded user image The button performs delete the displayed image, the table’s result Table showing identification results Table 5.16: Parameters in Search Page 63 5.7.1.4 Celebrity Add Page Figure 5.15: Celebrity Add Page Steps 64 Figure 5.16: Celebrity Add Page Steps Name steps Data Type Steps inputName btnNext uploadImages btnPrevious Input Button Upload Button Decription Displays the steps to take to r a recognition person to the system Input the new person’s name field The button performs the next step Selection and display of the user’s image pick Button performs step return Table 5.17: Parameters in Celebrity Add Page 65 5.8 Consequence Complete website, to display visually the returned results of model predictions The application has different functions 5.9 Conclusion Through this chapter, we learn how to build and apply the model from methods and algorithms into a real problem Know how to apply new technologies for application development Besides, there is more knowledge about how to deploy the application for wide use in the long run 66 Chapter CONCLUSION AND DEVELOPMENT In this part, we conduct a summary of the results achieved in the process of researching the topic At the same time, we propose some further developments soon 6.1 Conclusion Through this thesis, we have explored an overview of Deep Learning In particular, we focused on studying the facial recognition problem and the techniques and methods that were applied to the problem, and how to apply Deep Learning to this problem Thereby we point out the advantages and limitations of each solution to the face problem To choose the RetinaFace method for the face detection phase, ArcFace for the face recognition phase is the most suitable method for the problem being solved Through the process of research and research, we realize that Deep Learning is indeed a very effective model to apply to the class of computer vision problems But besides, its limitation still exists that it requires a lot of resources in the training process, the amount of data needed for training is quite large to achieve a model with high accuracy And so far, there is still no research that shows a method of model Deep Learning in the most optimal way We also evaluated methods on the same dataset against criteria like processing time, resource usage, and accuracy To show out which model has better results than the rest Thereby, showing that applying Deep Learning to the problem of image object recognition is a precise orientation However, in the capacity as well as a time limit, our thesis still has some unsolved cases including: 67 6.2 Development In the future, we want to further complete this thesis with the following issues: • Building Vietnamese celebrities database with full information of celebrities • Improved model accuracy • Enhancing the model’s performance towards the goal of reducing model recognition time • Applicable to solve other problems in practice 68 References [1] M Turk and A Pentland, “Eigenfaces for recognition,” in Proceedings of the IEEE conference on computer vision and pattern recognition, p 71–86, 1991 10 [2] M K R R Suruliandi, A., “Local binary pattern and its derivatives for face recognition’,” in European Conference on Computer Vision, pp 480–488, 2012 10 [3] Z L Y Q Kaipeng Zhang, Zhanpeng Zhang, “Joint face detection and alignment using multi-task cascaded convolutional networks,” arXiv preprint arXiv:1604.02878, 2016 20, 42 [4] R C L D Mahyar Najibi, Pouya Samangouei, “Ssh: Single stage headless face detector,” arXiv preprint arXiv:1708.03979, 2017 22, 42 [5] Y Z J Y I K S Z Jiankang Deng, Jia Guo, “Retinaface: Single-stage dense face localisation in the wild,” arXiv preprint arXiv:1905.00641, 2019 25 [6] Z Y M L B R L S Weiyang Liu, Yandong Wen, “Sphereface: Deep hypersphere embedding for face recognition,” arXiv preprint arXiv:1704.08063, 2017 30, 31 [7] N X S Z Jiankang Deng, Jia Guo, “Arcface: Additive angular margin loss for deep face recognition,” arXiv preprint arXiv:1801.07698, 2018 31, 33, 34 [8] Z Z X J D G J Z Z L W L Hao Wang, Yitong Wang, “Cosface: Large margin cosine loss for deep face recognition,” arXiv preprint arXiv:1801.09414, 2018 31 69 ... LUẬN TỐT NGHIỆP (CỦA CÁN BỘ HƯỚNG DẪN/PHẢN BIỆN) Tên khóa luận: XÂY DỰNG HỆ THỐNG NHẬN DIỆN NGƯỜI NỔI TIẾNG Ở VIỆT NAM CHO MẠNG XÃ HỘI LOTUS Nhóm SV thực hiện: Cán hướng dẫn/phản biện: Lê Thị Phương... DỰNG HỆ THỐNG NHẬN DIỆN NGƯỜI NỔI TIẾNG Ở VIỆT NAM CHO MẠNG XÃ HỘI LOTUS Nhóm SV thực hiện: Cán hướng dẫn/phản biện: Lê Thị Phương Ngân 16520792 Nguyễn Tiến Trung 16521321 Đánh giá Khóa luận. .. HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM TRƯỜNG ĐẠI HỌC Độc Lập - Tự Do - Hạnh Phúc CÔNG NGHỆ THÔNG TIN TP HCM, ngày… tháng… năm…… NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP (CỦA CÁN BỘ PHẢN BIỆN) Tên khóa luận: XÂY DỰNG