Đồ án Thiết kế và thi công hệ thống đếm đối tượng trong ảnh sử dụng kít Arduino hiển thị trên LCD

MÔ TẢ MỤC TIÊU CỦA ĐỀ TÀI: Mục tiêu của đề tài là xây dựng một hệ thống đếm đối tượng trong ảnh được chụp bằng camera, nhúng dữ liệu đếm được xuống kit Arduino để điều khiển LCD hiển thị kết quả đếm được Đề tài sử dụng thuật toán đánh nhãn để đối tượng trong ảnh. Xây dựng giao diện để người dùng có thể dễ dàng thao tác. Viết hướng dẫn thao tác sử dụng hệ thống

pdf84 trang | Chia sẻ: thientruc20 | Lượt xem: 526 | Lượt tải: 3download
Bạn đang xem trước 20 trang tài liệu Đồ án Thiết kế và thi công hệ thống đếm đối tượng trong ảnh sử dụng kít Arduino hiển thị trên LCD, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH --------------------------------- ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG ĐỀ TÀI: THIẾT KẾ VÀ THI CÔNG HỆ THỐNG ĐẾM ĐỐI TƯỢNG TRONG ẢNH SỬ DỤNG KÍT ARDUINO HIỂN THỊ TRÊN LCD GVHD: ThS. Nguyễn Duy Thảo SVTH: Phan Thành Hưng MSSV: 13141125 Tp. Hồ Chí Minh - 1/2018 BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH --------------------------------- ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG ĐỀ TÀI: THIẾT KẾ VÀ THI CÔNG HỆ THỐNG ĐẾM ĐỐI TƯỢNG TRONG ẢNH SỬ DỤNG KÍT ARDUINO HIỂN THỊ TRÊN LCD GVHD: ThS. Nguyễn Duy Thảo SVTH: Phan Thành Hưng MSSV: 13141125 Tp. Hồ Chí Minh - 1/2018 ii TRƯỜNG ĐH. SƯ PHẠM KỸ THUẬT TP.HCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA ĐIỆN-ĐIỆN TỬ Độc lập – Tự do – Hạnh phúc BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH TP. Hồ Chí Minh, ngày 15 tháng 1 năm 2018 BẢNG MÔ TẢ CÔNG VIỆC Họ tên sinh viên 1: PHAN THÀNH HƯNG MSSV: 13141125 Lớp: 13141DT3A Họ tên sinh viên 2: TRẦN VĂN THẠCH MSSV: 13141304 Lớp: 13141DT3A Tên đề tài: ĐẾM ĐỐI TƯỢNG TRONG ẢNH. 1. MÔ TẢ MỤC TIÊU CỦA ĐỀ TÀI: Mục tiêu của đề tài là xây dựng một hệ thống đếm đối tượng trong ảnh được chụp bằng camera, nhúng dữ liệu đếm được xuống kit Arduino để điều khiển LCD hiển thị kết quả đếm được Đề tài sử dụng thuật toán đánh nhãn để đối tượng trong ảnh. Xây dựng giao diện để người dùng có thể dễ dàng thao tác. Viết hướng dẫn thao tác sử dụng hệ thống. 2. MÔ TẢ CÔNG VIỆC THỰC HIỆN ĐỀ TÀI CỦA TỪNG SINH VIÊN: Họ tên Sinh viên 1: PHAN THÀNH HƯNG Các công việc thực hiện trong đề tài: STT NỘI DUNG CÔNG VIỆC 1 Tham khảo tài liệu liên quan đến đề tài của những tác giả đã thực hiện. 2 Viết chương trình đếm đối tượng( thuật toán đánh nhãn), điều khiển kit Arduino. 3 Chỉnh sửa hệ thống. 4 Viết báo cáo. iii Họ tên Sinh viên 2: TRẦN VĂN THẠCH Các công việc thực hiện trong đề tài: STT NỘI DUNG CÔNG VIỆC 1 Tham khảo tài liệu liên quan đến đề tài của những tác giả đã thực hiện. 2 Viết chương trình đếm đối tượng (thuật toán đánh nhãn), điều khiển kit Arduino. 3 Chụp ảnh phục vụ cho quá trình đếm đối tượng 4 Chỉnh sửa báo cáo. SINH VIÊN 1 SINH VIÊN 2 (Ký ghi rõ họ tên) (Ký ghi rõ họ tên) XÁC NHẬN CỦA GIẢNG VIÊN HƯỚNG DẪN (Ký ghi rõ họ tên) iv TRƯỜNG ĐH. SƯ PHẠM KỸ THUẬT CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM TP. HỒ CHÍ MINH ĐỘC LẬP - TỰ DO - HẠNH PHÚC KHOA ĐIỆN-ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Tp. HCM, ngày 15 tháng 1 năm 2018 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Phan Thành Hưng MSSV: 13141125 Trần Văn Thạch MSSV: 13141304 Chuyên ngành: Kỹ thuật Điện Tử Truyền Thông Mã ngành: 01 Hệ đào tạo: Đại học chính quy Mã hệ: 1 Khóa: 2013 Lớp: 13141DT3A I. TÊN ĐỀ TÀI: THIẾT KẾ VÀ THI CÔNG HỆ THỐNG ĐẾM SỐ LƯỢNG TRONG ẢNH SỬ DỤNG KÍT ARDUINO HIỂN THỊ TRÊN LCD. II. NHIỆM VỤ 1. Các số liệu ban đầu:  Bộ ảnh đếm: 30 ảnh gồm 10 ảnh tế bào, 10 ảnh cây gỗ, 10 ảnh vỉ thuốc.  Matlab phiên bản 2015a.  Kit điều khiển chính: Arduino Uno R3, LCD 16x2 2. Nội dung thực hiện: Đề tài thực hiện nội dung xây dựng hệ thống đếm đối tượng qua hình ảnh với đầu vào là ảnh chứa các đối tượng( tế bào, cây, vỉ thuốc). Kết quả đếm được sẽ được nhúng dữ liệu điều khiển tương ứng xuống kit Arduino. Nhóm sẽ thực hiện các nội dung như sau:  Tìm hiểu kit Arduino.  Cài đặt nguồn thư viện cho kit Arduino, cách kết nối Arduino với Matlab.  Tìm hiểu các thuật toán đánh nhãn.  Xây dựng quá trình xử lý ảnh đầu vào.  Xây dựng hệ thống đếm đối tượng trong ảnh, lập trình các ứng dụng nhúng dữ liệu trên kit Arduino.  Đánh giá kết quả thực hiện. III. NGÀY GIAO NHIỆM VỤ: 25/09/2017 IV. NGÀY HOÀN THÀNH NHIỆM VỤ: 15/01/2018 V. HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: ThS. Nguyễn Duy Thảo. CÁN BỘ HƯỚNG DẪN BM. ĐIỆN TỬ CÔNG NGHIỆP – Y SINH v TRƯỜNG ĐẠI HỌC SPKT TPHCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Khoa Điện - Điện Tử Độc lập - Tự do - Hạnh phúc Bộ Môn Điện Tử Công Nghiệp – Y Sinh Tp. Hồ Chí Minh, ngày 15 tháng 1 năm 2018 LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên 1: Phan Thành Hưng. Lớp: 13141DT3A MSSV: 13141125 Họ tên sinh viên 2: Trần Văn Thạch Lớp: 13141DT3A MSSV: 13141304 Tên đề tài: THIẾT KẾ VÀ THI CÔNG HỆ THỐNG ĐẾM SỐ LƯỢNG TRONG ẢNH SỬ DỤNG KÍT ARDUINO HIỂN THỊ TRÊN LCD. Tuần/ngày Nội dung Xác nhận GVHD Tuần 1,2 Tìm đề tài Tuần 3 Tìm hiểu hoạt động Arduino và Matlab. Tuần 4 Cài đặt Matlab, kết nối Arduino với Matlab. Tuần 5,6 Lập trình Arduino với các chân I/O để nhúng dữ liệu. Tuần 7,8,9 Lập trình và xây dựng chương trình xử lý ảnh đầu vào Tuần 10,11,12 Lập trình chương trình đếm đối tượng trong ảnh và chương trình giao diện người dùng. Tuần 13,14 Hiệu chỉnh toàn bộ chương trình. Tuần 15,16,17 Viết báo cáo đồ án. Tuần 18 Chỉnh sửa, in đồ án. GV HƯỚNG DẪN (Ký và ghi rõ họ và tên) vi LỜI CAM ĐOAN Chúng tôi cam đoan ĐATN là công trình nghiên cứu của bản thân chúng tôi dưới sự hướng dẫn của Thạc sỹ Nguyễn Duy Thảo. Các kết quả công bố trong ĐATN “Thiết kế và thi công hệ thống đếm số lượng trong ảnh sử dụng kít Arduino hiển thị LCD” là trung thực và không sao chép hoàn toàn từ công trình nào khác. Người thực hiện đề tài Phan Thành Hưng Trần Văn Thạch vii LỜI CẢM ƠN Trong quá trình làm đồ án tốt nghiệp, chúng em đã nhận được rất nhiều sự ủng hộ, giúp đỡ đóng góp ý kiến và chỉ bảo nhiệt tình của thầy cô, gia đình và bạn bè. Chúng em xin gửi lời cảm ơn chân thành đến Th.S Nguyễn Duy Thảo - Trường Đại học Sư phạm Kỹ thuật Tp.HCM đã tận tình hướng dẫn chỉ bảo trong suốt thời gian làm luận án tốt nghiệp. Thầy đã tạo nhiều điều kiện và cho những lời khuyên quý báu giúp chúng em hoàn thành tốt khóa luận. Xin chân thành cảm ơn thầy cô giáo trong Trường Đại học Sư phạm Kỹ thuật Tp.HCM nói chung, các thầy cô trong Bộ môn Điện tử Công Nghiệp – Y Sinh nói riêng đã tận tình giảng dạy, truyền đạt cho chúng em những kiến thức quý báu và tạo điều kiện giúp đỡ trong suốt quá trình học tập trong những năm học vừa qua, giúp chúng em có được cơ sở lý thuyết vững vàng. Cuối cùng, chúng em xin chân thành cảm ơn gia đình và bạn bè, đã luôn tạo điều kiện, quan tâm, ủng hộ, giúp đỡ, động viên chúng em trong suốt quá trình học tập và hoàn thành đồ án tốt nghiệp. Chúng em xin chân thành cảm ơn! Người thực hiện đề tài Phan Thành Hưng Trần Văn Thạch viii MỤC LỤC Trang bìa .......................................................................................................................... i Bảng mô tả công việc ...................................................................................................... ii Nhiệm vụ đồ án .............................................................................................................. iv Lịch trình ........................................................................................................................ v Cam đoan ...................................................................................................................... vi Lời cảm ơn .................................................................................................................... vii Mục lục ......................................................................................................................... viii Liệt kê hình .................................................................................................................... xi Liệt kê bảng .................................................................................................................. xiii Tóm tắt ......................................................................................................................... xv CHƯƠNG 1. TỔNG QUAN ......................................................................................... 1 1.1. Đặt vấn đề. ......................................................................................................... 1 1.2. Mục tiêu. ............................................................................................................ 2 1.3. Nội dung nghiên cứu. ........................................................................................ 2 1.4 Giới hạn. ............................................................................................................ 2 1.5. Bố cục. ............................................................................................................... 3 CHƯƠNG 2. CƠ SỞ LÝ THUYẾT ............................................................................. 4 2.1 Giới thiệu xử lý ảnh ........................................................................................... 4 2.2 Tổng quan về Matlab. ........................................................................................ 5 2.3 Giới thiệu lịch sử hình thành Arduino. .............................................................. 6 2.4 Giới thiệu về phần cứng. ................................................................................... 8 2.4.1 Kit Arduino Uno. .............................................................................................. 8 2.4.2 Giới thiệu về LCD 16x2 .................................................................................. 10 2.4.3 Giao tiếp I2C ................................................................................................... 11 2.5 Một số phương pháp trong xử lý ảnh ............................................................... 12 2.5.1 Xử lý điểm ảnh: ................................................................................................ 12 2.5.2 Làm trơn nhiễu bằng lọc tuyến tính ................................................................. 15 2.5.3 Nhị phân hóa ngưỡng tự động ......................................................................... 16 2.5.4 Phân vùng ảnh: ................................................................................................ 17 2.5.5 Phép toán Dilation. .......................................................................................... 18 2.5.6 Phép toán Erosion. .......................................................................................... 19 2.5.7 Phép toán Openning. ....................................................................................... 20 2.5.8 Phép toán Closing ........................................................................................... 20 ix 2.5.9 Thuật toán đánh nhãn: ..................................................................................... 25 2.6 Các hàm xử lý trong Matlab. .......................................................................... 25 CHƯƠNG 3: TÍNH TOÁN VÀ THIẾT KẾ ............................................................. 28 3.1 Giới thiệu. ........................................................................................................ 28 3.2 Thiết kế hệ thống. ............................................................................................ 28 3.2.1 Thiết kế sơ đồ khối hệ thống. .......................................................................... 28 3.2.2 Thiết kế các khối hệt thống. ............................................................................ 30 3.3 Tổng quan về phần cứng. ................................................................................ 32 3.3.1 Tổng quan các khối chính. ............................................................................... 32 3.3.2 Board Arduino Uno R3.................................................................................... 33 3.4 Cài đặt các gói hỗ trợ phần cứng cho Matlab................................................... 37 3.4.1 Kết nối Arduino với Matlab. ............................................................................ 37 3.4.2 Kiểm tra kết nối Arduino với Matlab. .............................................................. 40 3.4.3 Kết nối LCD với I2C ........................................................................................ 40 CHƯƠNG 4. THI CÔNG HỆ THỐNG .................................................................... 42 4.1 Giới thiệu. ........................................................................................................ 42 4.2 Thi công hệ thống. ........................................................................................... 42 4.3 Lưu đồ hệ thống. .............................................................................................. 43 4.3.1 Tổng quát về hệ thống ..................................................................................... 43 4.3.2 Chi tiết về hệ thống. ......................................................................................... 43 4.4 Viết tài liệu hướng dẫn sử dụng, thao tác ........................................................ 47 4.4.1 Viết tài liệu hướng dẫn sử dụng. ...................................................................... 47 4.4.2 Quy trình thao tác trên giao diện. ..................................................................... 48 CHƯƠNG 5. KẾT QUẢ _ NHẬN XÉT _ĐÁNH GIÁ ............................................. 49 5.1 Kết quả. ............................................................................................................ 49 5.1.1 Tổng quan kết quả đạt được. ........................................................................... 49 5.1.2 Kết quả thực tế. ................................................................................................ 49 5.2 Nhận xét và đánh giá. ....................................................................................... 60 CHƯƠNG 6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN.......................................... 62 6.1 Kết luận. ........................................................................................................... 62 6.2 Hướng phát triển. ............................................................................................. 63 TÀI LIỆU THAM KHẢO .......................................................................................... 64 PHỤ LỤC .................................................................................................................... 65 xi LIỆT KÊ HÌNH Hình Trang Hình 2.1: Những thành viên khởi xướng Arduino .............................................................. 7 Hình 2.2. Cấu trúc phần cứng của Arduino Uno. ............................................................... 9 Hình 2.3. Hình ảnh LCD ................................................................................................... 10 Hình 2.4 : Hình ảnh I2C. ................................................................................................... 12 Hình 2.5: Chuyển ảnh màu thành ảnh xám ....................................................................... 13 Hình 2.6. Lược đồ xám. .................................................................................................... 14 Hình 2.7. Ảnh xám và ảnh nhị phân. ................................................................................ 14 Hình 2.8. Ngưỡng tự động theo T1 và T2 ......................................................................... 17 Hình 2.9.a.Đối tượng cần phình A và nhân tạo ảnh B,b.Minh họa quét các b,khắp A .... 19 Hình 2.10.Kết quả của phép toán Dilation. ....................................................................... 19 Hình 2.11.Kết quả của phép toán Erosion. ....................................................................... 19 Hình 2.12.Vật có cấu trúc đơn giản-hình vuông và phức tạp và hình xoắn ốc. ................ 21 Hình 2.13. Lưu đồ giải thuật cho thuật toán đánh nhãn .................................................... 22 Hình 2.14. Lưu đồ giải thuật cho toán đánh nhãn ............................................................. 23 Hình 2.15 Vật thể màu đen đã được đánh nhãn ............................................................... 23 Hình 2.16. Mô phỏng thuật toán đánh nhãn. ..................................................................... 24 Hình 2.17. Số lượng vật được xác định dựa vào RAM..................................................... 25 Hình 3.1. Sơ đồ quá trình đếm đối tượng. ........................................................................ 29 Hình 3.2. Sơ đồ nguyên lý khối ứng dụng. ...................................................................... 31 Hình 3.3. Tổng quan các khối. .......................................................................................... 32 Hình 3.4. Sơ đồ nguyên lý board Arduino Uno R3. ......................................................... 33 Hình 3.5. Sơ đồ chân ATmega328. ................................................................................... 34 Hình 3.6. Cầu USB-to-UART. .......................................................................................... 36 Hình 3.7. Bộ nguồn. .......................................................................................................... 37 Hình 3.8. Get Hardware Support Package. ....................................................................... 38 Hình 3.9. Cửa sổ “Support Package Installer”. ................................................................. 38 Hình 3.10. Giao diện cài Package cho Arduino. ............................................................... 39 Hình 3.11. Đăng nhập cho cửa sổ “MathWorks Account Log In”. .................................. 39 Hình 3.12.Kết nối Arduino và Matlab thành công. ........................................................... 40 xii Hình 3.13.Kết quả trả về khi kết nối I2C .......................................................................... 41 Hình 4.1. Mô hình trong quá trình thực hiện. ................................................................... 42 Hình 4.2. Lưu đồ chính hệ thống. ..................................................................................... 43 Hình 4.3. Lưu đồ đếm đối tượng ....................................................................................... 44 Hình 4.4. Lưu đồ chương trình đếm đối tượng. ................................................................ 45 Hình 4.5. Lưu đồ chương trình dếm đối tượng. ................................................................ 46 Hình 4.6. Lưu đồ chương trình điều khiển ứng dụng trên Arduino. ................................. 47 Hình 4.7. Quy trình thao tác với thuật toán đánh nhãn. .................................................... 48 Hình 5.1. Giao diện ban đầu ............................................................................................. 50 Hình 5.2. Giao diện chọn lựa đối tượng đếm. ................................................................... 50 Hình 5.3. Giao diện đếm tế bào. ....................................................................................... 51 Hình 5.4. Giao diện đếm cây ............................................................................................. 52 Hình 5.5. Giao diện đếm thuốc. ........................................................................................ 52 Hình 5.6. 10 bức ảnh đếm tế bào mà nhóm thực hiền đề tài ............................................. 53 Hình 5.7. Đếm tế bào màu hồng thành công. .................................................................... 53 Hình 5.8. Đếm tế bào màu tím sạm thành công. ............................................................... 54 Hình 5.9. 10 Bức ảnh đếm cây mà nhóm thực hiện đề tài ................................................ 55 Hình 5.10.Đếm cây lo