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
84 trang |
Chia sẻ: thientruc20 | Lượt xem: 526 | Lượt tải: 3
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