Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 62 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
62
Dung lượng
3,9 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH ĐỒ ÁN TỐT NGHIỆP NGÀNH CƠNG NGHỆ KỸ THUẬT MÁY TÍNH THIẾT KẾ MƠ HÌNH ỨNG DỤNG NHẬN DIỆN NHÃN HIỆU GVHD: HUỲNH HOÀNG HÀ SVTH : NGUYỄN PHẠM DUY ÐỨC MSSV: 15119015 SKL005488 Tp Hồ Chí Minh, tháng 07/2019 CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc *** -Tp Hồ Chí Minh, ngày … tháng 07 năm 2019 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: NGUYỄN PHẠM DUY ĐỨC MSSV: 15119015 Ngành:Cơng Nghệ Kỹ Thuật Máy Tính Lớp: 15119CL2 Giảng viên hướng dẫn: Ths Huỳnh Hoàng Hà ĐT: 0962443310 Ngày nhận đề tài: 2019 Ngày nộp đề tài: 2019 Tên đề tài: Thiết kế mơ hình ứng dụng nhận diện nhãn hiệu Các số liệu, tài liệu ban đầu: Kiến thức mơn Tốn Cao Cấp, Xác suất Thống kê ứng dụng, Máy học, Thiết kế ứng dụng di động Nội dung thực đề tài: Thiết kế mơ hình máy học nhận diện nhãn hiệu ảnh Thu thập liệu gắn nhãn Thiết kế mơ hình trao đổi thông tin thiết bị với server ứng dụng android cho smartphone Triển khai thực tế đánh giá Viết báo cáo Sản phẩm: Mơ hình ứng dụng nhận diện nhãn hiệu smartphone TRƯỞNG NGÀNH GIẢNG VIÊN HƯỚNG DẪN i CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc *** PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Họ tên Sinh viên: Nguyễn Phạm Duy Đức MSSV: 15119015 Ngành: Cơng nghệ Kỹ thuật máy tính Tên đề tài: Thiết kế mơ hình ứng dụng nhận diện nhãn hiệu Họ tên Giáo viên hướng dẫn: Về nội dung đề tài & khối lượng thực hiện: Ưu điểm: Khuyết điểm: Đề nghị cho bảo vệ hay không? Đánh giá loại: Điểm: (Bằng chữ: ) Tp Hồ Chí Minh, ngày tháng năm 20… Giáo viên hướng dẫn (Ký & ghi rõ họ tên) ii CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc *** PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN Họ tên Sinh viên: Nguyễn Phạm Duy Đức MSSV: 15119015 Ngành: Công nghệ Kỹ thuật máy tính Tên đề tài: Thiết kế mơ hình ứng dụng nhận diện nhãn hiệu Họ tên Giáo viên phản biện: Về nội dung đề tài & khối lượng thực hiện: Ưu điểm: Khuyết điểm: Đề nghị cho bảo vệ hay không? Đánh giá loại: Điểm: (Bằng chữ: ) Tp Hồ Chí Minh, ngày tháng năm 20… Giáo viên phản biện (Ký & ghi rõ họ tên) iii LỜI CẢM ƠN Để hoàn thành đề tài nghiên cứu này, lời cho phép gửi lời cảm ơn chân thành đến toàn thể quý thầy cô Trường Đại Học Sư Phạm Kỹ Thuật TP.HCM nói chung thầy Khoa Điện – Điện Tử Khoa Chất Lượng Cao nói riêng, người tận tình dạy dỗ, trang bị cho tơi kiến thức tảng kiến thức chuyên ngành quan trọng, giúp tơi có sở lý thuyết vững vàng tạo điều kiện giúp đỡ tốt cho tơi q trình học tập nghiên cứu Đặc biệt, xin chân thành cảm ơn thầy Huỳnh Hồng Hà tận tình giúp đỡ, hỗ trợ ý kiến đề nghị, đưa định hướng nghiên cứu hướng giải số vấn đề để tơi thực tốt đề tài Trong thời gian làm việc với thầy, không ngừng tiếp thu thêm nhiều kiến thức dạy từ thầy, thể thái độ nghiên cứu nghiêm túc, hiệu điều cần thiết trình học tập làm việc sau Cũng xin gửi lời cảm ơn đến anh Phạm Hồng Thơng tập thể công ty TNHH Hệ Thống Thông Minh không ngần ngại giúp đỡ, truyền đạt kiến thức kinh nghiệm thân để giúp vượt qua khó khăn khúc mắc, hỗ trợ phương tiện suốt trình nghiên cứu đề tài Đồng thời cảm ơn Computer Vision Group Queen Mary University London thu thập liệu Weblogo-2M Dataset cho phép tơi dùng liệu với mục đích nghiên cứu Mặc dù cố gắng hết sức, song điều kiện thời gian kinh nghiệm thực tế tơi nghiên cứu cịn ít, đề tài khơng thể tránh khỏi thiếu sót Vì vậy, tơi mong nhận đóng góp ý kiến quý thầy, cô giáo Xin chân thành cảm ơn! TP.HCM, ngày 26 tháng năm 2017 Sinh viên thực Nguyễn Phạm Duy Đức iv TÓM TẮT Trong thời đại số bây giờ, việc quảng cáo mạng internet hướng màu mỡ mà cơng ty quan tâm, mà kéo theo nhu cầu nhận diện logo để tính tốn thời gian quảng cáo phương tiện truyền thơng Ngồi ra, Logo Detecting hướng phát triển Image Recognition, lĩnh vực nghiên cứu phát triễn trí thơng minh nhân tạo máy học Việt Nam đà phát triển hội nhập, nhiều cơng ty Việt có thành cơng định giới nước Tuy nhiên, công ty chưa thật quan tâm mực nhãn hiệu mình, qua khách hàng chưa thể tin tưởng mà ưu tiên chọn hàng Việt Trong thời đại bùng nổ internet, bạn trẻ lên mạng lúc nơi, bạn có nhu cầu tìm hiểu kiến thức xung quanh cách thú vị Điển hình ta thấy có nhiều kênh youtube có lượng đăng kí định như: kênh “người tiếng” có 741000 subscriber, kênh “Vfacts” có 403000 subscriber, kênh “Zoom TV” với từ 1-2 triệu lượt xem video Ngồi ra, có ứng dụng để nhận diện đưa thông tin ngắn giới xung quanh như: PlantSnap có 10 triệu lượt tải xuống, Từ điều trên, người thực đề tài nghiên cứu ứng dụng nhận diện logo smartphone từ giúp người có thêm kiến thức cơng ty doanh nghiệp có sản phẩm xung quanh ta, giúp khách hàng có thêm thông tin để đặt niềm tin vào sản phẩm Việt Hệ thống sử dụng android application để lấy ảnh (từ ảnh chụp ảnh nhớ) để gửi lên đến server xử lý nhận diện logo server gửi thông tin nhận diện cho android application Bài toán nhận diện logo giải thuật toán Object Detection v MỤC LỤC NHIỆM VỤ ĐỒ ÁN MÔN HỌC PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN LỜI CẢM ƠN TÓM TẮT MỤC LỤC DANH MỤC VIẾT TẮT MỤC LỤC HÌNH ẢNH MỤC LỤC BẢNG CHƯƠNG 1: GIỚI THIỆU 1.1.Giới thiệu đề tài 1.2.Tính cấp thiết đề tài 1.3.Muc tiêu đề tài 1.4.Phạm vi đề tài 1.5.Phương pháp nghiên cứu 1.6.Bố cục đề tài CHƯƠNG 2: CƠ SỞ LÝ THUYẾT LIÊN QUAN 2.1.Machine learning Object Detection 2.1.1 Khái niệm Machine Learning 2.1.2 Image Recognition and Object Detection 2.2.CNN - Convolutional Neural Network 2.2.1 Convolutiona 2.2.2 Cấu trúc mạng CNN 2.2.3 Trường tiếp nhận cục (local receptive field) 2.2.4 Trọng số chia sẻ (shared weight and bias) 2.2.5 Lớp tổng hợp vi 2.3.Region Proposal Network (RPN) 2.4.Faster R-CNN 2.5.Loss Function [1] 2.6.Cách tạo mơ hình máy học tensorflow API 2.7.Xây dựng hệ thống firebase 2.7.1 Liên kết firebase với python 2.7.2 Liên kết firebase với android application 2.8.Base64 CHƯƠNG 3: THIẾT KẾ VÀ THI CÔNG ỨNG DỤNG NHẬN DIÊN NHÃN HIỆU 3.1.Sơ đồ khối hệ thống 3.1.1 Yêu cầu hệ thống 3.1.2 Sơ đồ k 3.1.3 Chức khối 3.1.4 Hoạt động hệ thống 3.2.Thiết kế hệ thống 3.2.1 Khối xử lý trung tâm 3.2.2 Khối nh 3.2.3 Khối lư 3.2.4 Thiết kế mô hình máy học CHƯƠNG 4: KẾT QUẢ VÀ THỰC NGHIỆM 4.1.Kết 4.2.Thực nghiệm CHƯƠNG 5: NHẬN XÉT VÀ HƯỚNG PHÁT TRIỂN 5.1.Kết luận 5.2.Hướng phát triển TÀI LIỆU THAM KHẢO vii DANH MỤC VIẾT TẮT DNA: Deoxyribonucleic acid CNN: Convolutional Neural Network ReLU: Rectified Linear Unit RPN: Region Proposal Network FCs : Fully connected layer ROI: Region of Interest IoU : Intersection-overUnion viii MỤC LỤC HÌNH ẢNH Hình 2.1: Cách Convolutional tạo feature map Hình 2.2: Một ví dụ lớp CNN Hình 2.3: Vùng tiếp nhận cục Hình 2.4: Tạo neuron ẩn Hình 2.5: Tạo neuron ẩn thứ hai Hình 2.6: Tạo nhiều feature map nhiều loại trường tiếp nhận cục Hình 2.7: Ví dụ pooling CNN Hình 2.8: Max-pooling 2x2 Hình 2.9: Ví dụ mơ hình CNN 10 Hình 2.10: Region proposal 10 Hình 2.11: Vùng anchor 11 Hình 2.12: Faster RCNN mạng đơn thống [1] 12 Hình 2.13: Ví dụ ROI 14 Hình 2.14: Thực ROI pooling 14 Hình 2.15: Mẫu trình bày file csv để chuẩn bị tập huấn luyện 20 Hình 2.16: Code khai báo đường dẫn đến firebase 25 Hình 2.17: Code upload ảnh từ server lên firebase 25 Hình 2.18: Code lấy hình ảnh biến processing từ id yêu cầu 25 Hình 2.19: Vị trí tool firebase android studio 26 Hình 2.20: Trợ lý firebase android studio 26 Hình 2.21: Các bước thiết lập realtime database 27 Hình 3.1: Sơ đồ khối tổng quát hệ thống 29 Hình 3.2: Sơ đồ hoạt động hệ thống 30 Hình 3.3: Lưu đồ khối xử lý trung tâm 31 Hình 3.4: Lưu đồ khối nhập xuất 33 Hình 3.5: Giao diện ứng dụng 34 Hình 3.6: Cấu trúc firebase 35 Hình 3.7: Mẫu liệu label 36 Hình 3.8: So sánh tốc độ Faster RCNN so với loại CNN khác 37 Hình 3.9: Biểu đồ hàm mát cho RPN 37 Hình 3.10: Biểu đồ hàm mát cho bước phân loại cuối 38 Hình 3.11: Biểu đồ tổng hàm mát mơ hình 38 Hình 4.1: Giao diện ứng dụng 41 Hình 4.2: Nút nhấn chọn chụp ảnh từ camera 41 Hình 4.3: Camera chọn nút chụp ảnh 42 Hình 4.4: Giao diện ứng dụng sau chụp ảnh chọn ảnh lưu nhớ .42 Hình 4.5: Nhãn hiệu nhận diện ứng dụng 43 Hình 4.6: Giao diện thông tin pepsi ứng dụng 43 ix 3.2.4.2 Label liệu Gồm 10 classes gồm adidas, adidas2, apple, bmw, chanel, cocacola, ferrari, heineken, pepsi, puma Label gồm thông tin chiều cao, chiều dài ảnh, class điểm x min, x max, y min, y max tạo thành hình chữ nhật bao quanh vật thể (object) Tổng hợp lại thành file csv gồm tập huấn luyện tập kiểm tra (tỷ lệ 9:1) theo hình Hình 3.7: Mẫu liệu label 3.2.4.3 Lý chọn faster rcnn Hiện toán nhận diện vật thể cơng nghiệp người ta thường dùng YOLO lợi tốc độ độ xác lại giảm so với dùng CNN 36 Để cải thiện độ xác để dùng nhận diện vật thể thời gian thực người thực đề tài chọn faster rcnn Hình 3.8: So sánh tốc độ Faster RCNN so với loại CNN khác Ta thấy tốc độ faster RCNN nhanh hẳn mơ hình trước Hình 3.9: Biểu đồ hàm mát cho RPN Ý nghĩa hàm mát cho RPN: Localization loss hàm mát bounding box hồi quy RPN Objectness loss hàm mát phân loại bounding box có vật thể khơng có vật thể 37 Hình 3.10: Biểu đồ hàm mát cho bước phân loại cuối Ý nghĩa hàm mát cho việc bước phân loại cuối cùng: Classification loss hàm mát cho việc phân loại bounding box có vật thể thành lớp khác nhau, pepsi, cocacola, Localization loss hàm mát bounding box hồi quy Hình 3.11: Biểu đồ tổng hàm mát mơ hình Vì lý phần cứng không đáp ứng thời gian nên người thực đề tài dừng huấn luyện mơ hình vào lúc dù thông số hàm mát chưa có dấu hiệu bão hịa Sau khoảng 3000 bước, hàm mát mơ hình bắt đầu ổn định, kể từ lúc hàm mát giảm xuống thấp bước 9283 bước 11391 Qua trình nhận dạng thức tế, mơ hình học đến bước 11391 có tỷ lệ nhận diện trung bình cao hơn, nên ta chọn mơ hình 38 CHƯƠNG 4: KẾT QUẢ VÀ THỰC NGHIỆM 4.1 Kết Trong trình thực người thực đề tài hoàn thành tất khối: - Khối điều khiển trung tâm - Khối lưu trữ - Khối nhập xuất Và hoàn thiện sản phẩm gồm code máy chủ ứng dụng android phù hợp với tất điện thoại android từ 8.0 trở lên Dưới tỷ lệ nhận diện tỷ lệ xác mơ hình theo nhãn Bảng 4.1: tỷ lệ nhận diện độ tin cậy trung bình mơ hình theo nhãn Tên Nhãn Adidas Adidas2 Apple Bmw Chanel Cocacola Ferrari Heineken Pepsi Puma Từ bảng người thực đề tài thấy qua số lượng mẫu thử từ 32 đến 50 hình ngẫu nhiên khơng trùng tập huấn luyện, độ tin cậy phân loại nhãn cao, nhiên tỷ lệ nhận diện xác lại tương đối thấp hơn, thấp heineken Trong đó, cao nhãn apple, chanel, pepsi, puma có tỷ lệ nhận diên cao nhãn đặc trưng tạo thành khối liền mạch thường xuất vị trí trơn Ưu điểm: - Tốc độ xử lý nhanh, từ 3-6 giây lần nhận diện 39 - Có thể áp dụng thực tế - Có thể phát triễn mơ hình lên nhiều loại nhãn - Có thể áp dụng cho nhiều smartphone dùng hệ điều hành android Nhược điểm: - Chưa khắc phục tượng tự động giảm chất lượng ảnh - chụp ứng dụng Samsung j7 Khả nhận diện nhãn cocacola, Heineken Code server xử lý tuần từ theo vòng while nên tốc độ xử lý nhiều thiết bị bị giảm nhiều Chọn ảnh có sẵn từ điện thoại đơi bị xoay Nhận diện logo bị xoay chiều Nhận diện logo bị che phần Khoảng cách nhận diện tốt tầm tay khách hàng 40 4.2 Thực nghiệm Giao diện ứng dụng Hình 4.1: Giao diện ứng dụng Chọn chụp ảnh Hình 4.2: Nút nhấn chọn chụp ảnh từ camera 41 Chụp ảnh nhãn hiệu cần nhận diện Hình 4.3: Camera chọn nút chụp ảnh Ta hình ảnh giao diên sau Hình 4.4: Giao diện ứng dụng sau chụp ảnh chọn ảnh lưu nhớ 42 Nhấn nút check để kiểm tra nhãn hiệu ảnh Hình 4.5: Nhãn hiệu nhận diện ứng dụng Chọn nút pepsi thơng tin hãng pepsi Hình 4.6: Giao diện thông tin pepsi ứng dụng 43 Nhấn nút mũi tên để quay giao diện Hình 4.7: Vị trí mũi tên để quay lại giao diện Sau quay giao diện hình ảnh cũ cịn giữ Hình 4.8: giao diện sau quay từ giao diện thông tin 44 Nhấn cancel để quay lại giao diện ban đầu Chọn ảnh có sẵn: Hình 4.9: Vị trí nút nhấn chọn ảnh có sẵn Hình 4.10: Giao diện chọn ảnh có sẵn 45 Hình 4.11: Giao diện thơng tin loại nhãn khác 46 Hình 4.12: Giao diện thơng tin loại nhãn khác 47 CHƯƠNG 5: NHẬN XÉT VÀ HƯỚNG PHÁT TRIỂN 5.1 Kết luận Luận văn tốt nghiệp hoàn thành đồ án theo yêu cầu đề Xây dựng thành công mô hình ứng dụng gửi hình ảnh server để xử lý ngôn ngữ python Luận văn đáp ứng u cầu: - Tạo mơ hình máy học nhận diện 10 loại nhãn hiệu - Tìm hiểu tạo ứng dụng android cho điện thoại - Tạo hệ thống xử lý trực tuyến, máy chủ xử lý nhận diện thay cho thiết bị điện thoại nhằm tăng tốc độ nhận diện - Tỷ lệ nhận diện mười loại nhãn định 75% loại nhãn trừ heineken Tuy nhiên, luận văn hạn chế cần khắc phục như: - Hiện tượng giảm chất lượng ảnh smartphone samsung J7 số smartphone samsung khác - Nhận diện nhãn heineken - Tốc độ xử lý máy chủ chậm chưa tối ưu cho nhiều người sử dụng lúc 5.2 Hướng phát triển - Tăng thời gian học mơ hình, đồng thời giảm learning rate giúp giảm hàm mát nhằm nhận diện xác - Tăng số lượng mẫu liệu giúp mơ hình nhận diện xác nhiều mơi trường khác - Dùng gói tin để gửi trực tiếp đến server nhằm tăng tốc độ nhận diện - Cải thiện thuật toán máy chủ để tối ưu phục vụ nhiều người sử dụng lúc - Chuyển sang chụp ảnh lưu lại nhớ smartphone để khắc phục tình trạng giảm chất lượng ảnh - Tăng số lượng nhãn hiệu nhận diện - Từ mơ hình có sẵn, viết chương trình để tự động thu thập thêm liệu 48 TÀI LIỆU THAM KHẢO [1] K H R G a J S Shaoqing Ren, "Faster R-CNN: Towards Real-Time Object," Jan 2016 [2] R Girshick, "Fast R-CNN," IEEE International Conference on Computer Vision (ICCV), 2015 [3] J D T D a J M R Girshick, "Rich feature hierarchies for accurate object detection and semantic segmentation," IEEE Conference on Computer Vision and Pattern, 2014 49 ... học, Thiết kế ứng dụng di động Nội dung thực đề tài: Thiết kế mô hình máy học nhận diện nhãn hiệu ảnh Thu thập liệu gắn nhãn Thiết kế mơ hình trao đổi thông tin thiết bị với server ứng dụng android... sử dụng – Tensorflow CHƯƠNG 3: THIẾT KẾ VÀ THI CÔNG ỨNG DỤNG NHẬN DIÊN NHÃN HIỆU: Trình bày thiết kế thi công CHƯƠNG 4: KẾT QUẢ VÀ THỰC NGHIỆM: Chương trình bày kết thực nghiệm, CHƯƠNG 5: NHẬN... hiệu nhận diện ứng dụng 43 Hình 4.6: Giao diện thông tin pepsi ứng dụng 43 ix Hình 4.7: Vị trí mũi tên để quay lại giao diện 44 Hình 4.8: giao diện sau quay từ giao diện thông