Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 18 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
18
Dung lượng
888,54 KB
Nội dung
ĐẠI HỌC ĐÀ NẴNG KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG BÁO CÁO ĐỒ ÁN CƠ SỞ ĐỀ TÀI: MƠ PHỎNG TRỊ CHƠI QUICKDRAW Sinh viên thực : NGUYỄN BẢO MINH HỒNG – 17IT1 NGUYỄN ĐÌNH TRỌNG – 17IT2 Giảng viên hướng dẫn : PGS TS HUỲNH CÔNG PHÁP Học phần : ĐỒ ÁN CƠ SỞ Đà Nẵng, tháng 12 năm 2019 ĐẠI HỌC ĐÀ NẴNG KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG BÁO CÁO ĐỒ ÁN CƠ SỞ ĐỀ TÀI: MƠ PHỎNG TRỊ CHƠI QUICKDRAW Đà Nẵng, tháng 12 năm 2019 MỞ ĐẦU Lý chọn đề tài Trí tuệ nhân tạo mơn khoa học tập hợp công nghệ máy tính lấy cảm hứng từ cách người sử dụng hệ thống thần kinh thể để cảm nhận, học hỏi, lý giải, hành động hoạt động theo cách hoàn toàn khác Mặc dù tiến trí tuệ nhân tạo chắp vá khơng thể đốn trước, lĩnh vực có bước tiến đầy ý nghĩa kể từ bắt đầu sáu mươi năm trước Chúng ta bước vào kỷ ngun trí tuệ nhân tạo có tác động to lớn sâu sắc đến đời sống hàng ngày Ví dụ, thị giác máy tính trí tuệ nhân tạo lập kế hoạch tạo trò chơi video trở thành ngành cơng nghiệp giải trí lớn Hollywood Học sâu (Deep Learning), hình thức học máy (Machine Learning) dựa lớp đại diện biến số xem mạng thần kinh, làm cho việc hiểu lời nói trở thành thực tế điện thoại nhà bếp Trong đồ án sở lần này, nhóm chúng em xin giới thiệu nhánh thuộc trí tuệ nhân tạo Computer Vision dựa vào tạo ứng dụng QuickDraw để nhận biết vật thể cách nhận diện nét vẽ ảo Đặc biệt em xin chân thành gửi lời cảm ơn sâu sắc đến thầy giáo PGS TS Huỳnh Cơng Pháp, người tận tình hướng dẫn, trực tiếp bảo tạo điều kiện giúp đỡ em suốt trình làm đồ án học phần Đồ án sở Em xin chân thành cảm ơn NHẬN XÉT (Của giảng viên hướng dẫn) Ký, ghi rõ họ tên MỤC LỤC Trang Chương I GIỚI THIỆU I.1 Tổng quan đề tài I.2 Cấu trúc đồ án I.3 Giới thiệu Computer Vision I.4 Giới thiệu Python I.5 Giới thiệu OpenCV I.6 Giới thiệu Pytorch I.7 Giới thiệu Numpy I.8 Các thiết bị cần thiết I.9 Phương pháp I.10 Cách sử dụng Chương II PHÂN TÍCH, THIẾT KẾ HỆ THỐNG II.1 Mơ tả tốn: II.2 Sơ đồ hoạt động Chương III KẾT QUẢ III.1 Kết thực III.2 Kết luận III.2.a) Điểm mạnh III.2.b) Điểm yếu 10 III.3 Hướng phát triển 10 PHỤ LỤC 11 DANH MỤC BẢNG Trang Bảng Danh sách đồ vật, hình ảnh sử dụng DANH MỤC HÌNH Trang Hình Laptop có sẵn camera Hình Webcam gắn ngồi Hình Đầu vào, đầu tốn Hình Sơ đồ q trình luyện mơ hình Hình Sơ đồ hoạt động trình chạy Hình Vẽ hình chế độ camera Hình Vẽ hình chế độ chuột Báo cáo Đồ án sở Chương I Khoa Công nghệ thông tin Truyền thông GIỚI THIỆU I.1 Tổng quan đề tài Xây dựng ứng dụng QuickDraw đơn giản nhằm nhận diện vật thể dựa vào nét vẽ tượng trưng cho vật thể Ứng dụng gồm chức chính: Camera nhận diện thao tác vẽ vật thể chuyển liệu tự nhiên thành liệu mà máy hiểu trả tên vật thể mà ta vẽ Luyện tập(Training) cho chương trình hiểu nhiều vật thể I.2 Cấu trúc đồ án Đồ án gồm chương chính: Chương I: Giới thiệu tổng quan phương pháp, thiết bị sử dụng đề tài Chương II: Phân tích thiết kế hệ thống Chương III: Phân tích kết kết luận I.3 Giới thiệu Computer Vision Thị giác máy tính (tiếng Anh: Computer Vision) lĩnh vực bao gồm phương pháp thu nhận, xử lý ảnh kỹ thuật số, phân tích nhận dạng hình ảnh và, nói chung liệu đa chiều từ giới thực thơng tin số biểu tượng, ví dụ dạng định Việc phát triển lĩnh vực có bối cảnh từ việc chép khả thị giác người nhận diện hiểu biết hình ảnh mang tính điện tử Sự nhận diện hình ảnh xem việc giải vấn đề biểu tượng thông tin từ liệu hình ảnh qua cách dùng mơ hình xây dựng với giúp đỡ ngành lý thuyết học, thống kê, vật lý hình học Thị giác máy tính mơ tả tổng thể dải rộng trình tự động tích hợp thể cho nhận thức thị giác Thị giác máy tính mơn học khoa học liên quan đến lý thuyết đằng sau hệ thống nhân tạo có trích xuất thơng tin từ hình ảnh Dữ liệu hình ảnh nhiều dạng, chẳng hạn chuỗi video, cảnh từ đa camera, hay liệu đa chiều từ máy quét y học Thị giác máy tính cịn mơn học kỹ thuật, tìm kiếm việc áp dụng mơ hình lý thuyết cho việc xây dựng hệ thống thị giác máy tính Báo cáo Đồ án sở Khoa Công nghệ thông tin Truyền thông Các lĩnh vực thị giác máy tính bao gồm tái cấu trúc cảnh, dị tìm kiện, theo dõi video, nhận diện bố cục đối tượng, học, mục, đánh giá chuyển động phục hồi ảnh Đặc điểm Computer Vision khác hoàn toàn xử lý ảnh Xử lý hình ảnh liên quan đến công nghệ phương pháp sử dụng để gia tăng hình ảnh khía cạnh thơng tin Computer Vision hướng đến hành động thực tế Thị giác máy tính gắn liền với Trí tuệ nhân tạo - AI theo nghĩa thiết bị không cần nhìn mà sau giai đoạn nhận biết này, phải phân tích giải thích thấy, từ đưa hành động phù hợp tương tác với môi trường Cách thức hoạt động Implement Prototype từ thư viện OpenCV (Một Framework hỗ trợ Computer Vision mã nguồn mở) Thu thập liệu: Chương trình thu nhận liệu đầu vào từ camera Xử lý liệu: Dữ liệu đầu vào phân tích dựa liệu training trước để kiểm tra xem thuộc vật thể Thu kết quả: Cho biết vật thể I.4 Giới thiệu Python Python1 tạo Guido van Rossum vào năm 1991, ngơn ngữ lập trình thơng dịch (interpreted), hướng đối tượng (object-oriented), ngôn ngữ bậc cao (high-level) ngữ nghĩa động (dynamic semantics) Python hỗ trợ module gói (packages), khuyến khích chương trình module hóa tái sử dụng mã Trình thơng dịch Python thư viện chuẩn mở rộng có sẵn dạng mã nguồn dạng nhị phân miễn phí cho tất tảng phân phối tự Đặc điểm ngôn ngữ Python: Ngữ pháp đơn giản, dễ đọc Vừa hướng thủ tục (procedural-oriented), vừa hướng đối tượng (object-oriented) Hỗ trợ module hỗ trợ gói (package) Xử lý lỗi ngoại lệ (Exception) https://www.python.org/ Báo cáo Đồ án sở Khoa Công nghệ thông tin Truyền thông Kiểu liệu động mức cao Có thư viện chuẩn module ngoài, đáp ứng tất nhu cầu lập trình Có khả tương tác với module khác viết C/C++ (Hoặc Java cho Jython, Net cho IronPython) Có thể nhúng vào ứng dụng giao tiếp kịch (scripting interface) Ngày nay, Python sử dụng mục đích như: Phát triển phần mềm Tính tốn, khoa học Machine Learning: Theano, Tensorflow, Scikit-learn,… Computer Science: Python OpenCV, Numpy, Panda, Scipy,… I.5 Giới thiệu OpenCV OpenCV2(Open Computer Vision) thư viện mã nguồn mở hàng đầu cho xử lý thị giác máy tính, machine learning, xử lý ảnh OpenCV đươc viết C/C++, có tốc độ tính tốn nhanh, sử dụng với ứng dụng liên quan đến thời gian thực Opencv có interface cho C/C++, Python Java hỗ trợ cho Window, Linux, MacOs lẫn Android, iOS OpenCV có cộng đồng 47 nghìn người dùng số lượng download vượt triệu lần I.6 Giới thiệu Pytorch PyTorch3 thư viện Python-based hỗ trợ tạo Deep Learning models sử dụng chúng cho ứng dụng khác Trên thực tế, PyTorch không thư viện Deep Learning, mà package tính tốn khoa học (scientific computing) I.7 Giới thiệu Numpy Numpy4 thư viện lõi phục vụ cho khoa học máy tính Python, hỗ trợ cho việc tính tốn mảng nhiều chiều, có kích thước lớn với hàm tối ưu áp dụng lên mảng nhiều chiều Numpy đặc biệt hữu ích thực hàm liên quan tới Đại Số Tuyến Tính https://docs.opencv.org/ https://pytorch.org/ https://numpy.org/ 3 Báo cáo Đồ án sở Khoa Công nghệ thông tin Truyền thông I.8 Các thiết bị cần thiết Laptop có tích hợp camera Webcam với mục đích ghi hình lại chuyển động lúc vẽ vật thể ảo Hình Laptop có sẵn camera Hình Webcam gắn ngồi I.9 Phương pháp Sử dụng ngơn ngữ lập trình Python: Thư viện OpenCV, Pytorch, Numpy cung cấp đầy đủ module để thực trình training xử lý liệu đầu vào Google’s Quick Draw Project5 cung cấp sẵn dataset để training cho ứng dụng biết vật thể định Sử dụng phương pháp đa tuyến trình (multithreading) để tăng tốc xử lý ứng dụng https://quickdraw.withgoogle.com/data Báo cáo Đồ án sở Khoa Công nghệ thông tin Truyền thông I.10 Cách sử dụng Sử dụng bút vật với màu bật (khuyến khích màu xanh lục, đỏ xanh da trời) Khi bút xuất tầm nhìn Camera chương trình bắt biểu diễn vịng trịn màu vàng Khi sẵn sàng, nhấn phím Space sau vẽ hình theo ý muốn Khi vẽ hồn tất nhấn lại phím Space lần Chương trình xuất kết hình thể mà vừa vẽ hình Báo cáo Đồ án sở Chương II Khoa Công nghệ thơng tin Truyền thơng PHÂN TÍCH, THIẾT KẾ HỆ THỐNG II.1 Mơ tả tốn: Người dùng vẽ hình vẽ chuột hay thơng qua camera Sau chương trình dự đốn xem hình vẽ hình vẽ Hình Đầu vào, đầu toán II.2 Sơ đồ hoạt động Giai đoạn luyện mơ hình(Model training): Ta định nghĩa danh sách lớp(classes) có từ trước kèm dataset dạng numpy Mỗi hình vẽ chất ma trận có 28 hàng 28 cột Sau luyện liệu mơ hình SGD Adam(mặc định SGD) Với lớp, ta luyện 10.000 hình ảnh Sau hồn thành xong q trình luyện, ta lưu mơ hình luyện vào file thơng tin q trình luyện(tỉ lệ mát, tỉ lệ xác, ) Hình Sơ đồ q trình luyện mơ hình Báo cáo Đồ án sở Khoa Cơng nghệ thông tin Truyền thông Giai đoạn chạy: Từ hình vẽ ban đầu, ta chỉnh màu ảnh màu trắng, nét vẽ màu đen điều chỉnh kích thước ảnh thành 28 x 28 pixel Sau sử dụng Pytorch dự đốn hình ảnh sau chuẩn hố Hình Sơ đồ hoạt động trình chạy Báo cáo Đồ án sở Khoa Công nghệ thông tin Truyền thông Chương III KẾT QUẢ III.1 Kết thực Hình Vẽ hình chế độ camera Hình Vẽ hình chế độ chuột Báo cáo Đồ án sở Khoa Công nghệ thông tin Truyền thông Thơng tin file logs lưu trữ cấu hình lưu trữ cấu hình luyện mơ hình: Model's parameters: {'optimizer': 'sgd', 'total_images_per_class': 10000, 'ratio': 0.8, 'batch_size': 32, 'num_epochs': 20, 'lr': 0.01, 'es_min_delta': 0.0, 'es_patience': 3, 'data_path': 'data', 'log_path': 'tensorboard', 'saved_path': 'trained_models'} Danh sách 20 đồ vật, hình ảnh sử dụng chương trình: # 10 11 12 13 14 15 16 17 18 19 20 Tên đồ vật Apple Book Bowtie Candle Cloud Cup Door Envelope Eyeglasses Guitar Hammer Hat Ice cream Leaf Scissors Star T-shirt Pants Lightning Tree Bảng Danh sách đồ vật, hình ảnh sử dụng III.2 Kết luận Sau thực thí điểm phần mềm thời gian dài, chúng em phát điểm mạnh, yếu hay hạn chế phần mềm sau III.2.a) Điểm mạnh Tốc độ dự đốn(predict) nhanh Chương trình hoạt động tốt chế độ thuận nghịch Có thể tuỳ chỉnh màu khác cho vật vẽ(xanh lá, đỏ xanh dương) Dataset có sẵn với số lượng lớn từ Google6, nhiều tuỳ chọn phù hợp vào mục đích sử dụng https://quickdraw.withgoogle.com/data Báo cáo Đồ án sở Khoa Công nghệ thông tin Truyền thông III.2.b) Điểm yếu Số lượng đồ vật dự đốn ít(20) Tốc độ dự đốn số hình cịn chậm, chí sai số model có hình vẽ tương đồng Chương trình chế độ camera dễ bị ảnh hưởng yếu tố ngoại cảnh độ sáng, màu sắc môi trường xung quanh, III.3 Hướng phát triển Chương trình phát triển hướng Mặt số lượng: Tăng số lượng dataset tức tăng số lượng đồ vật dự đoán Việc tốn thời gian thời gian luyện mơ hình(model training) lâu Mặt chất lượng: Cải thiện tốc độ độ xác chương trình Tăng số lượng hình ảnh train hình(hiện 10.000 hình/model) sử dụng model có hình dạng khác nhau, khơng tương đồng 10 Báo cáo Đồ án sở Khoa Công nghệ thông tin Truyền thông PHỤ LỤC Mã nguồn: https://gitlab.com/expressyoona/artificial-intelligence-project 11