TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH KHOA ĐIỆN-ĐIỆN TỬ Ngành CNKT Điện tử - Viễn Thông CLC CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Tên đề tài : XÂY DỰNG VÀ THI CÔNG MÔ HÌNH
Trang 1ĐỒ ÁN TỐT NGHIỆP
NGÀNH CNKT ĐIỆN TỬ- VIỄN THÔNG
GVHD: ThS NGUYỄN VĂN HIỆPSVTH: LÂM VĨNH TƯỜNG
THÁI BẠCH THÀNH LONG
SKL 0 1 2 3 5 5
XÂY DỰNG VÀ THI CÔNG MÔ HÌNH PHÂN LOẠI SẢN PHẨM DỰA THEO MÀU SẮC
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐIỆN - ĐIỆN TỬ
ĐỒ ÁN TỐT NGHIỆP
SVTH : Lâm Vĩnh Tường MSSV: 19161189 Thái Bạch Thành Long MSSV: 19161132 Khoá : 2019
Ngành : CNKT Điện tử - Viễn thông (CLC)
GVHD: ThS NGUYỄN VĂN HIỆP
Thành phố Thủ Đức, tháng 01 năm 2024
XÂY DỰNG VÀ THI CÔNG MÔ HÌNH PHÂN LOẠI SẢN PHẨM DỰA THEO MÀU SẮC
Trang 3TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH KHOA ĐIỆN-ĐIỆN TỬ
Ngành CNKT Điện tử - Viễn Thông ( CLC)
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Tên đề tài : XÂY DỰNG VÀ THI CÔNG MÔ HÌNH PHÂN LOẠI SẢN PHẨM DỰA THEO MÀU SẮC
Các số liệu, tài liệu ban đầu:
- Kiến thức cơ bản về các môn Điện tử cơ bản, Mạch điện, Xử lý ảnh, Vi xử lý, các cơ sở ứng dụng AI
- Nghiên cứu về các cảm biến được sử dụng trong đề tài - Lập ra phương án thiết kế hệ thống
- Xây dựng mô hình, bố trí các cảm biến phù hợp - Các tài liệu lý thuyết về lập trình python và arduino - Tìm hiểu và nghiên cứu về phương thức YOLO 3 Nội dung thực hiện đề tài:
- Một mô hình phần cứng Hệ thống hoạt động dựa trên việc băng chuyền sản phẩm
đến vị trí nhận diện sản phẩm các cần gạt sẽ phân loại sản phẩm dựa theo màu sắc
TRƯỞNG NGÀNH GIẢNG VIÊN HƯỚNG DẪN
Trang 4TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH KHOA ĐIỆN-ĐIỆN TỬ
Ngành CNKT Điện tử - Viễn Thông ( CLC)
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
Tp Thủ Đức, ngày tháng 1 năm 2024
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Họ và tên sinh viên: Lâm Vĩnh Tường - Thái Bạch Thành Long
MSSV: 19161189 - 19161132 Ngành: Công nghệ kỹ thuật Điện tử - Viễn thông Tên đề tài: XÂY DỰNG VÀ THI CÔNG MÔ HÌNH PHÂN LOẠI SẢN PHẨM DỰA THEO MÀU SẮC Họ và tên Giáo viên hướng dẫn: Ths Nguyễn Văn HiệpNHẬN XÉT: 1 Về nội dung đề tài & khối lượng thực hiện:
Trang 5TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH KHOA ĐIỆN-ĐIỆN TỬ
Ngành CNKT Điện tử - Viễn Thông ( CLC)
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
Tp Thủ Đức, ngày tháng 1 năm 2024
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Họ và tên sinh viên: Lâm Vĩnh Tường - Thái Bạch Thành Long MSSV: 19161189 - 19161132
Ngành: Công nghệ kỹ thuật Điện tử - Viễn thông
Tên đề tài: XÂY DỰNG VÀ THI CÔNG MÔ HÌNH PHÂN LOẠI SẢN PHẨM DỰA THEO MÀU SẮC
2 Ưu điểm:
3 Khuyết điểm:
4 Đề nghị có bảo vệ hay không ?
5 Đánh giá loại:
Trang 6
6 Điểm:………(Bằng chữ: )
Thành phố Thủ Đức, ngày tháng1 năm 2024
Giáo viên phản biện
Trang 7LỜI CẢM ƠN
Nhóm thực hiện đề tài xin bày tỏ lòng biết ơn chân thành và sự tri ân sâu sắc đối với các thầy cô giảng viên của trường, đặc biệt là các thầy cô Khoa Đào tạo Chất Lượng Cao và Trường Đại học Sư phạm Kỹ thuật TPHCM đã giảng dạy tận tình, truyền đạt những kiến thức bổ ích góp phần làm cơ sở, nền tảng cho chuyên ngành sau này Trong quá trình thực hiện luận văn tốt nghiệp, nhóm em đã nhận được nhiều sự giúp đỡ và hỗ trợ rất nhiều từ thầy cô, gia đình và bạn bè.
Nhóm em xin chân thành cảm ơn thầy Nguyễn Văn Hiệp đã hướng dẫn nhóm hoàn thành đề tài này Ngay từ lúc bắt đầu chọn đề tài, tìm hướng phát triển, nhóm đã được thầy chỉnh sửa và góp ý rất nhiều để đề tài được hoàn thiện và thực tế nhất Thầy đã trang bị cho nhóm thực hiện đề tài những kiến thức, kỹ năng cần thiết và chỉ bảo tận tình cho nhóm trong suốt quá trình hoàn thành đề tài đồ án này Quá trình thực hiện có lúc gặp nhiều khó khăn nhưng nhờ có sự hướng dẫn tận tình và kinh nghiệm quý báu của thầy, nhóm đã có cơ hội tiếp cận với những kiến thức mới và phát triển kỹ năng của mình.
Cuối cùng, nhóm em xin gửi lời cảm ơn đến gia đình và bạn bè đã luôn bên cạnh nhóm trong suốt thời gian qua Những lời động viên và sự giúp đỡ của mọi người đã giúp nhóm em vượt qua những khó khăn và hoàn thành luận văn một cách tốt nhất.
Đề tài nghiên cứu vẫn còn nhiều khuyết điểm và nhóm em rất mong nhận được nhiều ý kiến đóng góp của quý thầy cô và bạn bè để hệ thống được cải thiện và có tính ứng dụng cao hơn trong cuộc sống.
Nhóm thực hiện đề tài
Lâm Vĩnh Tường Thái Bạch Thành Long
Trang 8LỜI CAM ĐOAN
Nhóm thực hiện cam đoan rằng luận văn tốt nghiệp này là công trình của quá trình làm việc nghiêm túc, trung thực của nhóm dưới sự hướng dẫn khoa học của thầy Nguyễn Văn Hiệp Tất cả các thông tin, dữ liệu và các tài liệu tham khảo được sử dụng trong luận văn này đều được trích dẫn và tham chiếu đầy đủ
Nhóm thực hiện cũng cam đoan rằng tất cả những số liệu trong luận văn tốt nghiệp này là số liệu thực và chưa từng được công bố ở bất kỳ công trình nghiên cứu nào khác Nếu phát hiện có bất kỳ hành vi gian lận nào được phát hiện nhóm xin hoàn toàn chịu trách nhiệm về công trình của mình
Nhóm thực hiện đề tài
Lâm Vĩnh Tường Thái Bạch Thành Long
Trang 9TÓM TẮT
Hiện nay, cạnh tranh giữa các ngành công nghiệp đang trở nên ngày càng quyết liệt Để đạt được doanh thu ấn tượng, không chỉ cần tập trung vào năng suất sản xuất mà còn phải chú trọng đến chất lượng sản phẩm Do đó, nhiều doanh nghiệp đang triển khai các hệ thống dây chuyền sản xuất tự động Tuy nhiên, việc đảm bảo chất lượng sản phẩm vẫn luôn là một ưu tiên quan trọng Trong bối cảnh công nghiệp hóa và hiện đại hóa ngày nay, việc thiết kế một hệ thống tự động nhận diện sản phẩm trên dây chuyền sản xuất là hết sức cần thiết đối với các nhà máy Mục tiêu của dự án tập trung vào việc phát triển và thiết kế một hệ thống có khả năng phân loại sản phẩm dựa theo màu sắc trên dây chuyền sản xuất tự động Sự kết hợp giữa trí tuệ nhân tạo và robot hứa hẹn mang lại nhiều lợi ích lớn cho ngành công nghiệp sản xuất, bao gồm cả việc giảm thiểu số lượng sản phẩm không đủ chất lượng xuất hiện trên thị trường, nâng cao chất lượng sản phẩm và bảo vệ sức khỏe của người tiêu dùng
Phần mềm sẽ bao gồm việc lập trình nhận diện sản phẩm, tạo ra khung hình phát hiện thông qua các lớp tích chập, và điều quan trọng nhất là thiết lập mô hình huấn luyện để nhận diện các sản phẩm mà người dùng quan tâm Phần cứng bao gồm việc tính toán và thiết kế mô hình, kết hợp với việc điều khiển băng tải và cảm biến nhận diện vật thể sử dụng Arduino Uno R3
Cuối cùng, thông qua liên kết với webcam, phần mềm sẽ nhận diện sản phẩm thông qua Python, đọc các màu sắc sản phẩm, và sau đó gửi tín hiệu điều khiển đến Arduino để phân loại các sản phẩm
Trang 10MỤC LỤC
DANH MỤC CÁC BẢNG BIỂU vi
DANH SÁCH CÁC HÌNH ẢNH vii,viii DANH MỤC CÁC TỪ VIẾT TẮT ix
CHƯƠNG 1 TỔNG QUAN 1
1.1 Tính cấp thiết của đề tài 1
1.2 Mục tiêu nghiên cứu 2
1.3 Nhiệm vụ nghiên cứu 2
1.4 Đối tượng và phạm vi nghiên cứu 2
1.5 Giới hạn đề tài 3
1.6 Bố cục quyển báo cáo 3
CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 4
2.3 Kiến trúc mạng YOLO và cách hoạt động của YOLO 8
2.3.1 Output của YOLO 9
2.3.2 Dự đoán nhiều feature map 11
2.3.3 Anchor box 12
2.3.4 Dự báo boding box 13
2.4 Xử lý ảnh với YOLOv5 14
2.4.1 Sơ lược về YOLOv5 14
2.4.2 Cách hoạt động của YOLOv5 15
Chương 3 THIẾT KẾ HỆ THỐNG 17
3.1 YÊU CẦU VÀ SƠ ĐỒ KHỐI CỦA HỆ THỐNG 17
3.1.1: Yêu cầu của hệ thống 17
3.1.2 Sơ đồ khối và chức năng từng khối 17
Trang 113.2 TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG 18
3.2.1 Khối xử lý trung tâm 18
3.2.2 Khối sensor 22
3.2.3 Khối phân loại 24
3.2.4 Khối vận chuyển 27
3.2.5 Khối hiển thị 30
3.2.6 Khối quét và xử lý màu 32
3.2.7 Khối nguồn 32
3.3 Thiết kế phần mềm và lưu đồ giải thuật 34
Chương 4 KẾT QUẢ THI CÔNG HỆ THỐNG 39
4.1 Kết quả của mô hình thi công 39
4.1.1 Kết quả của phần cứng kết nối giữa các thiết bị 39
4.1.2 Kết quả của toàn bộ hệ thống 40
4.1.3 Phân loại sản phẩm màu vàng 42
4.1.4 Phân loại sản phẩm màu cam 44
4.1.5 Phân loại sản phẩm màu xanh 45
4.1.6 Phân loại sản phẩm màu hồng 47
4.1.7 Phân loại sản phẩm màu đỏ 49
4.2 Kết quả thực hiện mô hình 50
4.3 Nhận xét và đánh giá hệ thống 54
4.4 Số liệu trainning vật thể và nhận xét 55
Chương 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 56
Trang 12DANH MỤC CÁC BẢNG BIỂU
Bảng 3.1 Lựa chọn linh kiện khối xử lý trung tâm 19
Bảng 3 2 Thông số kỹ thuật của Arduino R3 20
Bảng 3.3 Thông số kỹ thuật cảm biến 22
Bảng 3.4 Thông số kỹ thuật servo 25
Bảng 3.5 Thông số kỹ thuật mạch relay 27
Bảng 3 6 Thông số kỹ thuật động cơ 27
Bảng 3.7 Thông số kỹ thuật động cơ 33
Bảng 3.8 Thông số kỹ thuật nguồn Adaptor 9V 35
Trang 13DANH SÁCH CÁC HÌNH ẢNH
Hình 2 1 Thư viện Open CV 4
Hình 2.2 Sơ đồ kiến trúc mạng YOLO 8
Hình 2.3 Công thức tính IoU 9
Hình 2.4 Mô hình output của YOLO 9
Hình 2.5 Kiến trúc đầu ra của model YOLO 10
Hình 2.6 Các feature maps khác nhau của mạng YOLO 11
Hình 2.7 Xác định anchor box cho một vật thể 12
Hình 2.8 Một ví dụ về middle point 13
Hình 2.9 Công thức ước lượng bounding box từ anchor box 14
Hình 2.10 Bốn phiên bản với kiến trúc mạng của yolo v5 14
Hình 3.1 Sơ đồ khối mô hình phân loại tự động sản phẩm theo màu sắc 17
Hình 3.2 Sơ đồ khối xử lí trung tâm 21
Hình 3.3 Sơ đồ khối sensor 23
Hình 3.4 Khối phân loại 25
Hình 3.5 Khối vận chuyển 28
Hình 3.6 Khối hiển thị 31
Hình 3.7 Khối quét và xử lý hình ảnh 33
Hình 3.8 Khối nguồn 34
Hình 3.9 Lưu đồ giải thuật của hệ thống 35
Hình 3.10 Lưu đồ giải thuật của python 37
Hình 3.11 Lưu đồ giải thuật của adruino 38
Hình 4.1 Hình mạch kết nối giữa các thiết bị phần cứng 39
Hình 4.2 Mô hình hoàn thiện chụp từ phía trước 40
Hình 4.3 Mô hình hoàn thiện chụp từ phía sau 40
Hình 4.4 Mô hình hoàn thiện chụp từ trên xuống 41
Hình 4.5 Sản phẩm màu vàng được vận chuyển 42
Hình 4.6 Sản phẩm màu vàng được phân loại 42
Hình 4.7 Phân loại sản phẩm màu vàng 43
Hình 4.8 Sản phẩm màu cam được vận chuyển 44
Trang 14Hình 4.9 Sản phẩm màu cam được phân loại 44
Hình 4.10 Phân loại sản phẩm màu cam 45
Hình 4.11 Sản phẩm màu xanh được vận chuyển 45
Hình 4.12 Sản phẩm màu xanh được phân loại 46
Hình 4.13 Phân loại sản phẩm màu xanh 46
Hình 4.14 Sản phẩm màu hồng được vận chuyển 47
Hình 4.15 Sản phẩm màu hồng được phân loại 47
Hình 4.16 Phân loại sản phẩm màu hồng 48
Hình 4.17 Sản phẩm màu đỏ được vận chuyển 49
Hình 4.18 Sản phẩm màu đỏ được phân loại 49
Hình 4.19 Phân loại sản phẩm màu đỏ 50
Hình 4.20 Kết quả nhận dạng màu sản phẩm vàng 51
Hình 4.21 Kết quả nhận dạng màu sản phẩm cam 51
Hình 4.22 Kết quả nhận dạng sản phẩm màu xanh dương 52
Hình 4.23 Kết quả nhận dạng sản phẩm màu hồng 52
Hình 4.24 Kết quả nhận dạng sản phẩm màu đỏ 53
Trang 15DANH MỤC CÁC TỪ VIẾT TẮT
GSM Global System for Mobile Communications
GPRS General Packet Radio Service
ADC Analog-to-Digital ConverterDAC Digital Analog Converter
I2C Inter-Integrated Circuit SPI Serial Peripheral Interface SVM Support Vector Machine
Trang 16CHƯƠNG 1 TỔNG QUAN
1.1 Tính cấp thiết của đề tài
Công nghiệp đã trải qua nhiều sự phát triển qua các cuộc cách mạng 2.0,3.0, vì thế trong giai đoạn 4.0 này đòi hỏi sự kết hợp của các công nghệ mới đã đặt ra yêu cầu cao về khả năng tự định hình và quyết định độc lập Ban đầu, các hệ thống đã tích hợp máy điều khiển số để đảm bảo độ chính xác cao trong sản xuất và máy điều khiển từ xa để xử lý vật liệu phóng xạ mà không cần sự can thiệp trực tiếp của con người Điều này không chỉ gia tăng linh hoạt và độ tin cậy mà còn nâng cao an toàn trong môi trường làm việc Tổng cộng, sự tích hợp của máy điều khiển số và máy điều khiển từ xa đã giúp công nghiệp áp dụng một cách hiệu quả các tiến bộ công nghệ, từ đó cải thiện quy trình sản xuất và tăng cường năng suất
Ngay từ khi xuất hiện, thiết bị điều khiển tự động công nghiệp đã lan tỏa vào nhiều lĩnh vực, thay thế lao động nhân công và mang lại nhiều lợi ích như cải thiện tổ chức chuỗi sản xuất, tăng năng suất và hiệu quả Ban đầu, chúng được sử dụng chủ yếu trong ngành công nghiệp để thay thế công việc nguy hiểm và mệt mỏi Tuy nhiên, với sự gia tăng nhu cầu sử dụng trong các quy trình sản xuất phức tạp, robot công nghiệp ngày càng yêu cầu khả năng thích ứng linh hoạt và sự thông minh Ngày nay, ứng dụng của thiết bị điều khiển tự động không chỉ giới hạn trong lĩnh vực chế tạo máy mà còn mở rộng đến y tế, chăm sóc sức khỏe, nông nghiệp, đóng tàu, xây dựng và an ninh quốc phòng Các chuyên gia hàng đầu dự báo rằng, với sự phát triển của Cách mạng Công nghiệp 4.0, việc ứng dụng hệ thống điều khiển tự động trong quy trình sản xuất công nghiệp sẽ trở thành một trọng tâm quan trọng trong cuộc cách mạng công nghệ tiếp theo sau Internet Mục tiêu lớn hơn là để con người có thể tích hợp trí tuệ nhân tạo vào quy trình vận hành và phát triển máy móc công nghiệp để cải thiện năng suất và khả năng tính toán nhanh hơn
Trong những năm gần đây, nghiên cứu và phát triển tại Việt Nam đã đạt được những tiến bộ đáng kể Các đơn vị nghiên cứu trên khắp cả nước, như Trung tâm Tự động hóa, Học viện Kỹ thuật Quân sự, Viện Công nghệ Thông tin thuộc Viện Khoa học và Công nghệ Việt Nam (KHCNVN), cũng như các công ty như Robot TOSY, đều
Trang 17đóng góp quan trọng vào lĩnh vực này Các trường Đại học Bách Khoa Hà Nội, Đại học Bách Khoa Đà Nẵng, Đại học
Bách Khoa Tp.HCM cũng đã tiến hành nhiều đề tài và dự án nghiên cứu về hệ thống phân loại tự động và nhiều lĩnh vực khác
1.2 Mục tiêu nghiên cứu
Đồ án được thực hiện với những mục tiêu sau: ⚫ Dùng camera ghi hình sản phẩm đọc về máy tính
• Dùng Arduino điều khiển băng tải và phân loại sản phẩm • Giám sát sản phẩm lên máy tính
• Sử dụng cần gạt phân loại sản phẩm đúng theo màu sắc
• Xây dựng, thiết kế và thi công mô hình phần cứng một cách hoàn thiện nhất • Khắc phục lỗi, đưa ra đánh giá về mô hình, cải thiện mô hình, giúp mô hình càng phát triển hơn
1.3 Nhiệm vụ nghiên cứu
Nhiệm vụ nghiên cứu của đề tài bao gồm:
• Tìm hiểu.về yêut cầu và tiêut chuẩn của hệ thống tự động
• Nghiên cứu lý thuyết: Áp dụng phương pháp nghiên cứu lý thuyết để tìm hiểu các khái niệm và nguyên lý liên quan đến đề tài nghiên cứu, xử lý ảnh và nhận dạng
• Nghiên cứu thiết kế: Áp dụng nguyên lý đã học, xử lý ảnh và nhận để đạt được hoạt động và chính xác của hệ thống
• Đánh giá tính.ổn.định.và.độ.chính xác của hệ thống
• Chế tạo: Tập trung vào việc lựa chọn và sử dụng linh kiện phù hợp, sau đó lắp ráp và kết nối các phần cứng thành hệ thống hoàn chỉnh
1.4 Đối tượng và phạm vi nghiên cứu
Phạm vi nghiên cứu: một hệ thống tự động, một băng tải động, một camera xử lý ảnh và một máy tính Mô hình này được thiết kế nhỏ gọn, phù hợp để thực hành và nghiên cứu
Đối tượng nghiên cứu: Các cảm biến, servo, hệ thống băng tải, camera xử lý ảnh và máy tính
Trang 181.5 Giới hạn đề tài
Đề tài xoay quanh tập trung việc điều khiển cánh tay robot để đảm bảo độ chính xác và đúng vị trí trong quá trình di chuyển Đồng thời, mở rộng chức năng bằng việc sử dụng camera để nhận biết và phân loại sản phẩm trên băng tải chuyển động Camera thu thập hình ảnh để áp dụng các thuật toán và phân loại, từ đó nhận dạng và phân loại các sản phẩm dựa trên đặc điểm và thông tin hình ảnh
1.6 Bố cục quyển báo cáo
Nội dung chính của đề tài được trình bày với 5 chương:
- Chương 1: GIỚI THIỆU: Giới thiệu, nêu rõ mục tiêu nghiên cứu, phương pháp
nghiên cứu, xác định phạm vi và giới hạn đề tài, đối tượng nghiên cứu
- Chương 2: CƠ SỞ LÝ THUYẾT: Tổng quan về tình hình nghiên cứu và hướng
nghiên cứu hiện tại
- Chương 3: THIẾT KẾ HỆ THỐNG: Trình bày mô hình tổng quan của hệ thống,
các khối thành phần của hệ thống, thiết kế chi tiết từng khối và các thiết bị sử dụng trong các khối đó
- Chương 4: THI CÔNG HỆ THỐNG: Trình bày kết quả thi công và triển khai mô
hình mô hình hệ thống
- Chương 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN: Rút ra các kết luận từ kết
quả nghiên cứu, đánh giá điểm mạnh và điểm yếu của mô hình, đồng thời đề xuất hướng phát triển tiếp theo.
Trang 19CHƯƠNG 2 CƠ SỞ LÝ THUYẾT
2.1 Thị giác máy tính
Thị giác máy tính là một lĩnh vực trong khoa học máy tính học có khả năng tái cấu trúc, làm gián đoạn và hiểu thông tin từ hình ảnh 2D và video, về các thuộc tính của cấu trúc có mặt tại hiện trường Nó liên quan đến mô hình hóa và tái tạo khả năng nhìn của con người bằng máy tính
Trong lĩnh vực máy tính, một trong những thách thức lớn từ những năm 1950 là tạo ra các máy tính có khả năng hiểu và xử lý hình ảnh và video giống con người Thị giác máy tính đã trở thành một lĩnh vực nghiên cứu đầy hứa hẹn và thú vị trong kỹ thuật và khoa học máy tính, cũng như trong trí tuệ nhân tạo
OpenCV là một thư viện được viết bằng C++ và hỗ trợ các ngôn ngữ lập trình khác như Python và Java Nó đã được phát triển để cung cấp các tính năng và chức năng thị giác máy tính tiêu chuẩn và trở thành một trong những thư viện quan trọng nhất trong lĩnh vực thị giác máy tính Với OpenCV, người dùng có thể thực hiện nhiều tác vụ như đọc và ghi ảnh từ các nguồn khác nhau, xử lý ảnh bằng các công cụ như lọc, biến đổi, điều chỉnh màu sắc và độ sáng, phát hiện cạnh, trích xuất đặc trưng và áp dụng các thuật toán máy học để nhận diện và phân loại đối tượng OpenCV có sự hỗ trợ mạnh mẽ từ cộng đồng người dùng và được sử dụng rộng rãi trong nhiều lĩnh vực như công nghệ ô tô tự động, thị giác máy tính, robotics, y tế, an ninh, và nhiều ứng dụng khác
Hình 2 1 Thư viện Open CV
Trang 202.1.1 Tiền xử lý ảnh
Tiền xử lý ảnh là quá trình chuẩn bị và xử lý dữ liệu hình ảnh trước khi áp dụng các thuật toán và phương pháp phân tích hình ảnh Mục đích của tiền xử lý ảnh là cải thiện chất lượng dữ liệu, loại bỏ nhiễu, tăng cường đặc trưng và chuẩn bị dữ liệu cho các bước tiếp theo của quá trình xử lý hình ảnh
Tiền xử lý ảnh trong đồ án này là một bước quan trọng để làm sạch và cải thiện chất lượng ảnh trước khi áp dụng các phương pháp thị giác máy tính và học máy Và phương pháp nhóm thực hiện đề tài sử dụng ở đây là chuyển đổi không gian màu
Sử dụng phương pháp chuyển đổi không gian màu là một cách tiền xử lý ảnh phổ biến để tách biệt các thông tin màu sắc và đặc trưng khác tr ong ảnh Đối với đồ án này, bạn có thể áp dụng chuyển đổi không gian màu để cải thiện quá trình phân loại chai nhựa Dưới đây là các bước cơ bản để thực hiện phương pháp này:
- Đọc ảnh: Sử dụng OpenCV AI để đọc ảnh chai nhựa từ nguồn hình ảnh
- Chuyển đổi không gian màu: Áp dụng chức năng chuyển đổi không gian màu từ không gian màu gốc sang không gian màu khác Ở đây nhóm đã chuyển đổi từ không gian màu RGB sang không gian màu HSV
- Trích xuất thành phần màu: Từ không gian màu mới, nhóm có thể trích xuất các thành phần màu sắc như màu sắc chính, độ bão hòa và giá trị độ sáng trong không gian màu HS
- Xử lý và phân loại: Sau khi trích xuất các thành phần màu, nhóm đã áp dụng các phương pháp xử lý và phân loại như áp dụng ngưỡng để tách biệt các vùng màu khác nhau, hoặc sử dụng mô hình học máy để phân loại sản phẩm dựa trên các thành phần màu trích xuất
2.1.2 Phát hiện vật thể
Phát hiện vật thể là khả năng của hệ thống máy tính và phần mềm để xác định và định vị các đối tượng trong một hình ảnh và video Nó đã được sử dụng rộng rãi trong nhiều lĩnh vực như phát hiện khuôn mặt, phát hiện xe, đếm số người đi bộ, hệ thống bảo mật và xe tự lái, ,vv Có nhiều phương pháp và thuật toán có thể được sử dụng để nhận diện đối tượng, và sự phát triển của phát hiện vật thể sẽ đến từ các lập trình viên
Trang 21và các nhà phát triển phần mềm Phát hiện đối tượng là một trong những thú vị của máy tính kỹ thuật thị giác Một trong những ứng dụng chính của đối tượng phát hiện là ô tô tự lái nơi hệ thống sử dụng máy tính tầm nhìn, công nghệ cho đa chiều đại diện cho các con đường và LADAR
Từ năm 2012, sự phát triển nhanh chóng của deep learning đã mang đến các thuật toán và phương pháp hiện đại và chính xác hơn trong object detection Một số thuật toán nổi tiếng bao gồm R-CNN, Fast-RCNN, RetinaNet, SSD và YOLO Những phương pháp này dựa trên deep learning và yêu cầu kiến thức sâu về toán học và học máy Tuy nhiên, việc tích hợp và sử dụng object detection trong các sản phẩm mới vẫn gặp khó khăn và phức tạp đối với hàng triệu chuyên gia lập trình và nhà phát triển phần mềm
Sử dụng ImageAI, lập trình viên và nhà phát triển phần mềm có thể áp dụng các công nghệ phát hiện đối tượng vào các ứng dụng hiện có và mới mà không đòi hỏi nhiều mã code ImageAI cung cấp hỗ trợ cho một danh sách các thuật toán học máy hiện đại nhất để dự đoán hình ảnh, nhận diện đối tượng và phát hiện video
2.1.3 Trích xuất đặc trưng
Trích xuất đặc trưng là quá trình chuyển đổi dữ liệu đầu vào thành một tập hợp các đặc trưng có ý nghĩa và thông tin hữu ích để đại diện cho dữ liệu Mục tiêu của trích xuất đặc trưng là tạo ra một biểu diễn gọn gàng và ý nghĩa hơn cho dữ liệu ban đầu, giúp cho việc phân loại, nhận dạng và xử lý dữ liệu dễ dàng hơn
Khi làm việc với dữ liệu có một vài vấn đề thường gặp phải dữ liệu có kích thước lớn hoặc có nhiều thông tin không cần thiết Trích xuất đặc trưng giúp con người tập trung vào các yếu tố quan trọng và loại bỏ các yếu tố không cần thiết Điều này cũng giúp giảm chiều dữ liệu, tăng tốc quá trình xử lý và cải thiện hiệu suất của các thuật toán máy học
Trong máy học, trích xuất đặc trưng là một bước quan trọng để làm cho dữ liệu có thể được sử dụng bởi các thuật toán học máy Thay vì sử dụng dữ liệu đầu vào gốc, thường là dữ liệu không xử lý hoặc dữ liệu có kích thước lớn sẽ trích xuất những thông tin quan trọng từ dữ liệu đó để tạo thành một tập hợp các đặc trưng mới và biểu diễn dữ liệu dưới dạng một vectơ số có kích thước nhỏ hơn
Trang 222.1.4 Phân loại
Phân loại là một tác vụ quan trọng trong lĩnh vực máy học nhằm xác định lớp hoặc nhãn cho một mẫu dữ liệu dựa trên thông tin và đặc trưng của mẫu đó Mục tiêu của phân loại là xây dựng một mô hình học máy từ dữ liệu huấn luyện đã được gán nhãn, và sử dụng mô hình này để dự đoán nhãn cho các mẫu dữ liệu mới mà chưa được gán nhãn
Quá trình phân loại thường bao gồm các bước sau:
- Bước 1: Dữ liệu huấn luyện là thu thập một tập dữ liệu huấn luyện có các mẫu dữ liệu đã được gán nhãn, trong đó mỗi mẫu được mô tả bởi một tập hợp các đặc trưng
- Bước 2: Trích xuất đặc trưng là áp dụng các phương pháp và kỹ thuật để trích xuất các đặc trưng quan trọng từ dữ liệu huấn luyện Việc chọn và trích xuất đặc trưng phụ thuộc vào loại dữ liệu và bài toán cụ thể
- Bước 3: Xây dựng mô hình là chọn và áp dụng một thuật toán học máy phù hợp để xây dựng mô hình phân loại từ dữ liệu huấn luyện và các đặc trưng đã trích xuất Một số thuật toán phổ biến trong phân loại bao gồm Support Vector Machine (SVM), K-nearest neighbors (KNN), Decision Tree, Random Forest, Neural Networks, và nhiều thuật toán khác
- Bước 4: Huấn luyện mô hình là sử dụng dữ liệu huấn luyện đã được gán nhãn, huấn luyện mô hình bằng cách điều chỉnh các tham số của thuật toán và tối ưu hóa hiệu suất phân loại
- Bước 5: Đánh giá mô hình bao gồm việc
- Sử dụng tập dữ liệu kiểm tra, đánh giá hiệu suất của mô hình phân loại bằng cách so sánh kết quả dự đoán với nhãn thực tế Các độ đo thông thường bao gồm độ chính xác, độ phủ, độ chính xác dương tính, và F1-score
- Sử dụng mô hình: Áp dụng mô hình phân loại đã huấn luyện vào dữ liệu mới để dự đoán nhãn cho các mẫu chưa được gán nhãn
2.2 Tổng quan về YOLO
YOLO là một mô hình nhận diện đối tượng thời gian thực được ra mắt vào năm 2016 bởi Joseph Redmon và đồng nghiệp tại Đại học Washington YOLO nổi bật với việc xem xét toàn bộ hình ảnh một lần duy nhất để dự đoán các vùng chứa đối
Trang 23tượng và lớp tương ứng Trước khi YOLO xuất hiện, các phương pháp nhận diện đối tượng truyền thống thường chia nhỏ hình ảnh thành các vùng nhỏ hơn và áp dụng các bước xử lý riêng biệt cho từng vùng này Điều này làm giảm hiệu suất và độ chính xác, đồng thời làm tăng thời gian xử lý
YOLO đã giải quyết vấn đề này bằng cách giảm quá trình xem xét và dự đoán đối tượng chỉ trong một lần duy nhất Phiên bản ban đầu của YOLOv5 rất nhanh chóng, hiệu quả và dễ sử dụng Mặc dù YOLOv5 không đưa ra bất kỳ kiến trúc mô hình mới nào cho dòng YOLO, nhưng nó cung cấp một khung triển khai và đào tạo PyTorch mới nhằm nâng cao tính hiện đại cho các bộ nhận diện đối tượng.Hơn nữa, YOLOv5 cực kỳ thân thiện với người dùng và sẵn sàng sử dụng trên các đối tượng đặt làm riêng
2.3 Kiến trúc mạng YOLO và cách hoạt động của YOLO
Kiến trúc mạng YOLO với những thành phần: base network là những mạng tích chập có nhiệm vụ trích xuất đặc trưng Phần phía sau là những lớp bổ sung được áp dụng để nhận diện vật thể trên feature map của base network
Base network của YOLO sử dụng tập trung chủ yếu là các lớp tích chập với các fully conntected layer Các kiến trúc YOLO cũng khá đa dạng và có thể tùy biến thành các phiên bản cho nhiều hình dạng đầu vào khác nhau
Hình 2.2 Sơ đồ kiến trúc mạng YOLO
Với thành phần mạng kiến trúc Darknet (Darknet Architechture) được gọi là base network với chức năng trích suất đặc trưng Đầu ra của base network là một feature map có kích thước 7x7x1024 sẽ được sử dụng làm đầu vào cho các lớp bổ sung có tác dụng dự đoán nhãn và tọa độ bounding box của vật thể cần dự đoán
Trang 24Trong YOLOv3 có áp dụng một mạng trích xuất đựac trưng là darknet-53 Mạng này gồm 53 lớp tích chập kết nối liên tiếp, mỗi lớp được theo sau bởi một batch normalization và một activation Leaky Relu
Hàm tính IoU: IoU là hàm đánh giá độ chính xác của nhận diện vật thể trên tập dữ liệu cụ thể và IoU được tính bằng:
Hình 2.3 Công thức tính IoU
2.3.1 Output của YOLO
Đầu ra của mô hình YOLO là một vec-tơ bao gồm các thành phần:
Hình 2.4 Mô hình output của YOLO
Trang 25Trong đó:
- là xác suất dự báo vật thể xuất hiện trong bounding box
- < tx, ty, tw, tℎ > giúp xác định bounding box Trong đó tx, ty là tọa độ tâm và là kích thước rộng, dài của bounding box
- < p1, p2, … , pc > là véc tơ phân phối xác suất dự báo của các classes
Để huấn luyện mô hình thông qua các nguồn mở như darknet, hiểu rõ về đầu ra là rất quan trọng để có thể cấu hình các tham số chính xác Đầu ra được xác định dựa trên số lượng lớp (classes) theo công thức (n_class + 5) Ví dụ, nếu có 80 lớp được huấn luyện, thì đầu ra sẽ có 85 Trong trường hợp sử dụng 3 anchors/cell, số lượng tham số đầu ra sẽ là: (n_class +5) x 3 = 85 x 3 = 255
Hình 2.5 Kiến trúc đầu ra của model YOLO
Trang 26Hình ảnh trên feature map có kích thước 13x13, mỗi cell trên feature map sẽ chứa ba anchor boxes với kích thước khác nhau, gọi là Box 1, Box 2 và Box 3 Các anchor boxes này được đặt sao cho tâm của mỗi anchor box trùng với tâm của cell tương ứng Kết quả đầu ra của YOLO sẽ là một vec-tơ liên tiếp gồm ba bounding boxes Các thuộc tính của một bounding box được mô tả trong dòng cuối cùng của hình
2.3.2 Dự đoán nhiều feature map
Ở phiên bản YOLOv3 có thể dự báo trên nhiều feature map
YOLO dự đoán trên nhiều feature map Những feature map ban đầu có kích thước nhỏ giúp dự báo được các vật thể có kích thước lớn Những feature map sau có kích thước lớn hơn trong khi anchor box được giữ cố định kích thước nên sẽ giúp dự báo cácvật thể kích thước nhỏ
Hình 2.6 Các feature maps khác nhau của mạng YOLO
Trên cùng feature map hình vuông S x S, mô hình YOLO sinh ra một số lượng anchor box là: S x S x 3 Như vậy số lượng anchor boxes trên một bức ảnh sẽ là:
(13x13 + 26x26 + 52x52) x 3 = 10647 (anchor boxes)
Quá trình huấn luyện mô hình YOLO có thể trở nên chậm chạp do số lượng bounding box lớn, cụ thể là 10,647 bounding box cần được dự báo đồng thời, và đây là một nguyên nhân chính Dưới đây là một số lưu ý khi huấn luyện mô hình YOLO:
- RAM: Để lưu trữ 10,647 bounding box trong kiến trúc này, cần có dung lượng RAM lớn hơn so với các mô hình phân loại truyền thống
- Batch size: Không thể thiết lập batch size quá lớn như trong các mô hình phân loại, vì điều này có thể dẫn đến tràn bộ nhớ YOLO sử dụng gói vùng tối để chia nhỏ một batch thành các phân khu nhằm tối ưu việc sử dụng RAM
Trang 27- Thời gian xử lý: YOLO yêu cầu thời gian xử lý cho mỗi bước lớn hơn rất nhiều so với các mô hình phân loại Do đó, cần thiết lập giới hạn số bước huấn luyện (steps) nhỏ Với các tác vụ nhận diện dưới 5 lớp, có thể thu được kết quả tạm chấp nhận được sau dưới 5000 bước huấn luyện Đối với các mô hình có nhiều lớp hơn, có thể tăng số bước huấn luyện theo cấp số nhân tùy theo mong muốn
2.3.3 Anchor box
Một bouding box được tìm thấy phụ thuộc vào anchor box, trong đó mô hình sẽ suwrr dụng các anchor box như một cơ sơ để ước lượng Các anchor này được xác định trước và được đặt xung quanh đối tượng một cách tương đối chính xác Sau đó, thuật toán quy hồi bounding box sẽ điều chỉnh lại anchor box để tạo ra bounding box dự đoán cho đối tượng
Trong một mô hình YOLO:
Hình 2.7 Xác định anchor box cho một vật thể
- Mỗi vật thể trong những hình ảnh sẽ được xác định bằng anchor box Trong trường hợp có từ hai anchor boxes trở lên cùng bao quanh vật thể thì sẽ xác định anchor box mà có IoU với ground truth bounding box là cao nhất
- Từ Cell i ta xác định được 3 anchor boxes viền xanh như trong hình Bounding box của vật thể đều giao với ba anchor box Tuy nhiên chỉ anchor box có đường viền dày nhất màu xanh được lựa chọn làm anchor box cho vật thể bởi nó có IoU so với ground truth bounding box là cao nhất
- Các vật thể trong hình ảnh huấn luyện được phân bố vào một cell trên feature map mà chứa điểm mid point của vật thể Ví dụ, trong hình, vị trí của một người sẽ được phân
Trang 28về cell màu đỏ vì điểm mid point của người nằm trong cell này Từ cell đó, sẽ xác định các anchor boxes bao quanh hình ảnh của người
→ Vì vậy, khi xác định một vật thể, thì cần xác định cả hai thành phần kết hợp là cell và anchor box Vật thể không thể được xác định riêng lẻ chỉ dựa trên cell hoặc chỉ dựa trên anchor box
2.3.4 Dự báo boding box
Để dự báo bounding box cho một vật thể sẽ được dựa trên một phép biến đổi từ anchor box và cell
Hình 2.8 Một ví dụ về middle point
Trước hết, YOLOv2 vả YOLOv3 đảm bảo rằng bounding box dự đoán không bị lệch quá nhiều so với vị trí trung tâm Điều này khác với mạng nơ-ron tích chập đề xuất, trong đó, bounding box dự đoán có thể đặt ở bất kỳ vị trí nào trong hình ảnh
Để dự đoán bounding box sẽ sử dụng anchor box có kích thước (pw, pℎ) tại cell feature map , góc trên cùng bên trái là (cx, cy), mô hình dự đoán 4 tham số (tx, ty, tw, tℎ) trong đó 2 tham số đầu là độ lệch (offset) so với góc trên cùng bên trái của cell và 2 tham số sau là tỷ lệ so với anchor box
Vì các tọa độ đã được chuẩn hóa theo độ rộng và độ cao của hình ảnh nên giá trị của chúng luôn nằm trong khoảng [0, 1] Điều này đảm bảo rằng khi áp dụng hàm phi
Trang 29tuyến cho các tọa độ này thì chúng sẽ giới hạn trong khoảng này và không vượt qua nó
Hình 2.9 Công thức ước lượng bounding box từ anchor box
- Anchor box được biểu thị bởi hình chữ nhật nét đứt bên ngoài Khi xác định một bouding box, sẽ sử dụng đặc điểm thông tin của các anchor box và cell mà bouding box thuộc về
- Điều này giúp giới hạn vị trí của bounding box dự đoán gần với vị trí của cell và bounding box mà không vượt quá xa ra bên ngoài giới hạn này
2.4 Xử lý ảnh với YOLOv5 2.4.1 Sơ lược về YOLOv5
Hình 2.10 Bốn phiên bản với kiến trúc mạng của yolo v5
Trang 30YOLOv5 là một công cụ phát hiện đối tượng một tầng rất phổ biến được biết đến với hiệu suất và tốc độ rõ ràng và cấu trúc linh hoạt có thể được chia nhỏ, điều chỉnh và xây dựng trên một nền tảng có thể truy cập rất rộng rãi
Tuy nhiên, các hệ thống áp dụng kiến trúc này và cố gắng tối ưu hóa nó, chúng chủ yếu dựa vào việc điều chỉnh các tham số cụ thể hoặc tăng cường tập huấn luyện của chúng để cải thiện hiệu suất, mà không xem xét nhiều đến các thay đổi cấu trúc đối với chính mô hình để điều chỉnh nó tốt hơn cho mục đích sử dụng cụ thể trường hợp Mặc dù YOLOv5 là một công cụ mạnh, nhưng nó được thiết kế để trở thành một máy dò đối tượng đa năng và do đó không được tối ưu hóa để phát hiện các đối tượng nhỏ hơn
Nghiên cứu này đề xuất những cách mà YOLOv5 có thể được sửa đổi để hoạt động tốt hơn trên một hệ thống nhất định về mặt kích thước nhỏ phát hiện đối tượng, với ý nghĩa rõ ràng trong thế giới thực Đặc biệt khi xem xét trường hợp của một cuộc đua tự động phương tiện cần phát hiện các hình nón có màu khác nhau để lái quanh đường đua Việc nghiên cứu sẽ thảo luận về tác động của các kỹ thuật khác nhau và đề xuất các mô hình sửa đổi có thể thực hiện nhiệm vụ này tốt hơn trong khi vẫn duy trì xử lý thời gian thực tốc độ
2.4.2 Cách hoạt động của YOLOv5
YOLOv5 hoạt động theo một quy trình chung để nhận diện và phân loại đối tượng trong ảnh Dưới đây là mô tả tổng quan về cách YOLOv5 thực hiện quá trình này:
Tiền xử lý ảnh: Ảnh đầu vào được tiền xử lý trước khi được đưa vào mô hình
YOLOv5 Tiền xử lý có thể bao gồm việc điều chỉnh kích thước ảnh đến kích thước đầu vào mong muốn, thực hiện chuẩn hóa dữ liệu và chuyển đổi ảnh thành định dạng phù hợp để đưa vào mạng nơ-ron
Quá trình dự đoán: Ảnh tiền xử lý được đưa vào mạng YOLOv5 để thực hiện quá
trình dự đoán Mạng nơ-ron trong YOLOv5 sẽ tạo ra các feature map (bản đồ đặc trưng) bằng cách áp dụng các lớp convolutions và các kỹ thuật kết hợp đặc biệt Các feature map này chứa thông tin về các vùng chứa đối tượng và các đặc trưng của chúng
Tính toán bounding boxes và phân loại: Các feature map từ bước trước đó được
sử dụng để tính toán bounding boxes (hộp giới hạn) và phân loại đối tượng Bằng cách áp dụng các thuật toán như Non-Maximum Suppression (NMS), YOLOv5 xử lý các
Trang 31bounding boxes để loại bỏ những box trùng lặp và giữ lại các box có độ tin cậy cao nhất Sau đó, mô hình sẽ phân loại các đối tượng trong các bounding boxes dựa trên thông tin đã học từ quá trình huấn luyện
Kết quả đầu ra: Cuối cùng, YOLOv5 trả về các bounding boxes được xác định và
lớp tương ứng của các đối tượng trong ảnh Các bounding boxes này cho biết vị trí và kích thước của các đối tượng, trong khi lớp tương ứng cho biết loại đối tượng đó là gì Thông qua kết quả này, chúng ta có thể xác định và phân loại các sản phẩm trong đề tài Qua quá trình hoạt động trên, YOLOv5 có khả năng nhận diện và phân loại nhanh chóng các đối tượng trong ảnh với độ chính xác cao Sự kết hợp giữa các lớp convolutions và các kỹ thuật tối ưu hóa giúp mô hình đạt được tốc độ và hiệu suất tốt
Trang 32Chương 3 THIẾT KẾ HỆ THỐNG
Trong phần này, việc lập sơ đồ khối toàn mạch, mỗi khối được xác định với một mục tiêu thiết kế cụ thể Dựa trên những mục tiêu này, nhóm đưa ra các lựa chọn và giải pháp tối ưu để bắt đầu quá trình thiết kế Từ đó, nhóm sử dụng cơ sở lý thuyết đã được trình bày ở phần trước để thực hiện các phép tính, điều chỉnh, và hoàn thiện quá trình thiết kế.
3.1 YÊU CẦU VÀ SƠ ĐỒ KHỐI CỦA HỆ THỐNG 3.1.1 Yêu cầu của hệ thống
1 Hệ thống cần được trang bị camera hình ảnh để ghi nhận thông tin về sản phẩm đang di chuyển qua Để phân loại sản phẩm, hệ thống cần sử dụng các thuật toán xử lý hình ảnh để trích xuất đặc trưng từ hình ảnh và nhận diện màu của sản phẩm
2 Để điều khiển servo và thực hiện các nhiệm vụ phân loại, hệ thống cần có hệ thống điều khiển này sẽ giúp servo di chuyển và tương tác với sản phẩm, khi sản phẩm được phân loại là màu và màu lỗi,
3 Hệ thống cần có một quy trình xử lý để xử lý sản phẩm trên dây chuyền sản xuất Hệ thống cần đạt được độ chính xác và hiệu suất phân loại sản phẩm cao, để đảm bảo rằng sản phẩm phân loại được phát hiện và xử lý đúng cách
3.1.2 Sơ đồ khối và chức năng từng khối
Sơ đồ khối của hệ thống:
Hình 3.1 Sơ đồ khối mô hình phân loại tự động sản phẩm theo màu sắc
Trang 33Khối xử lí trung tâm: bộ xử lí chính của hệ thống, truy xuất dữ liệu, nhận tín hiệu trả
về từ các khối khác
Khối sensor: giao tiếp với khối xử lý trung tâm phát hiện vật khi có sản phẩm đi qua Khối servo: giao tiếp với khối xử lý trung tâm gạc phân loại sản phẩm
Khối vận chuyển : giao tiếp với khối điều khiển trung thông qua relay
Khối hiển thị: giao tiếp với khối điều khiển trung hiển thị số lượng sản phẩm đã được
phân loại
Khối quét và xử lí màu: camera giao tiếp với máy tính thông qua cổng USB và máy xử
lý thông tin truyền qua khối điều khiển trung tâm
Khối nguồn: cung cấp và đáp ứng đầy đủ thông số dòng và áp cho các khối còn lại,
đảm bảo cho hệ thống hoạt động ổn định * Mô tả hệ thống :
Hệ thống sử dụng một hệ thống vi điều khiển Arduino R3 làm bộ xử lý trung tâm Bộ xử lý trung tâm có nhiệm vụ chịu trách nhiệm về việc điều khiển và quản lý các thành phần khác của hệ thống Hệ thống sử dụng Camera RAPo C260 Full HD có khả năng ghi lại hình ảnh chất lượng cao của các sản phẩm trên băng chuyền Điều này cho phép bạn có những hình ảnh rõ nét và chi tiết về sản phẩm để thực hiện quá trình phân loại Servo được thiết kế để di chuyển trên băng chuyền và để phân loại sản phẩm về đúng vị trí của nó.Đồng thời có thiết kế màn hình LCD 20*4 để xem số lượng và màu sắc của sản phẩm đã được phân loại Dùng thư viện OPEN CV của ngôn ngữ Python hỗ trợ việc sử dụng AI để phân biệt và đọc frame màu sắc
3.2 TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG
Gồm cấc bước:vai trò, lựa chọn linh kiện, thông số kỹ thuật, tính toán thiết kế, sơ đồ
nguyên lí, giải thích sơ đồ
Kết nối phần cứng của mỗi khối
3.2.1 Khối xử lý trung tâm
❖ Vai trò: Bộ xử lý trung tâm có vai trò như “bộ não” của hệ thống Có chức
năng xử lí tất cả các lệnh,yêu cầu được gửi về từ các khối khác
Trang 34❖ Lựa chọn linh kiện:
Arduino Uno R3, trong ngữ cảnh hiện nay, Arduino r3 là một lựa chọn ưu việc trên thị trường module tích hợp Trong khi có nhiều sự cạnh tranh từ các sản phẩm khác như STM32, Rasberry và PIC, Arduino Uno R3 được ưa chuộng nhờ dễ sử dụng, dễ thao tác và giá thành vừa phải
Với giao diện phát triển tích hợp thân thiện (IDE) cùng với sự hỗ trợ mạnh mẽ từ cộng đồng, Arduino Uno trở thành một công cụ linh hoạt cho việc viết và nạp code mà không đòi hỏi kiến thức lập trình chuyên sâu Điều này làm cho nó trở thành sự lựa chọn lý tưởng cho kỹ sư, lập trình viên, và ngay cả học sinh mới bắt đầu
Đặc biệt, Arduino Uno là lựa chọn phù hợp vừa đủ giữa Arduino Mega và Nano Khả năng mở rộng thông qua các shield, cùng với tính tương thích với nhiều loại cảm biến và thiết bị khác nhau, làm cho Arduino Uno trở thành một công cụ linh hoạt và thích hợp cho nhiều ứng dụng khác nhau Với sự hiện diện rộng rãi trên thị trường, Arduino Uno không chỉ mang lại tiện ích về chức năng mà còn đảm bảo tính ổn định và sẵn sàng sử dụng Đây thực sự là một lựa chọn đáng xem xét cho những dự án điều khiển và sáng tạo điện tử
Bảng 3.1: Lựa chọn linh kiện khối xử lý trung tâm
Dòng vi điều khiển AVR PIC ARM Cortex-M
Bộ nhớ chương trình
32KB Flash RAM 2KB
14KB Flash RAM 368 Bytes
1MB Flash RAM 192KB
Giao tiếp SPI, I2C, USART SPI, I2C, USART, UART, CAN,
Cần sử dụng thêm các module mở rộng
Không có Bluetooth, Wifi, RF, NFC, IR
Tốc độ xử lý 16MHz 20MHz 72MHz-168MHz
Mạch nạp chương trình
MicroUSB PICkit Series ST-Link/V2 J-Link
Trang 35Tiêu thụ năng lượng
Thấp Thấp Thấp trừ các dòng F4, F7
Chi phí và mức độ chuyên môn
Thấp dễ tiếp cận Thấp phù hợp với người mới bắt đầu
Thấp sử dụng phức tạp
❖ Thông số kỹ thuật:
Bảng 3 2 Thông số kỹ thuật của Arduino R3
Vi điều khiển ATmega328 họ 8bit
Điện áp hoạt động 5V DC (chỉ được cấp qua cổng USB)
Điện áp vào khuyên dùng 7-12V DC Điện áp vào giới hạn 6-20V DC
Số chân Digital I/O 14 (6 chân hardware PWM) Số chân Analog 6 (độ phân giải 10bit) Dòng tối đa trên mỗi chân I/O 30 mA
Trang 36❖ Tính toán thiết kế:
Các chân I/O cấp nguồn áp/nguồn dòng (5V/ 30mA) phù hợp với các cảm biến cần kết nối Đầy đủ các chân cần thiết, dùng nguồn từ laptop dễ dàng cấp nguồn hoạt động Hỗ trợ các chuẩn giao tiếp SPI, UART,
❖ Sơ đồ kết nối:
Hình 3.2 Sơ đồ khối xử lí trung tâm mô phỏng và thực tế
Trang 37❖ Giải thích sơ đồ:
Mạch Arduino Uno có hai nguồn cung cấp: Adapter qua Jack DC và cổng USB Nếu chỉ có một nguồn, mạch sẽ sử dụng nguồn đó Trong trường hợp có cả hai, mạch sẽ ưu tiên nguồn từ Jack DC Điện áp từ Jack DC qua OpAmp và MOSFET được so sánh với 3.3V để quyết định nguồn cung cấp Điện áp 5V và 3.3V được tạo bởi các IC ổn áp NCP1117 và LP2985 Bảo vệ bằng cầu chì tự phục hồi (F1) và Diode ngược dòng (D1) Đèn nguồn ON báo hiệu mạch đã được cấp nguồn, và nếu không sáng, có thể có vấn đề với nguồn cung cấp, kết nối lỏng, hoặc ngắn mạch
3.2.2 Khối sensor
❖ Vai trò: Giúp nhận biết từng sản phẩm đi qua và đồng thời là nút khởi động cho
dây chuyền Do hệ thống đã có camera nhận biết màu sản phẩm và từ đó xử lý để điều khiển Servo nên cảm biến chỉ có nhiệm vụ phát hiện khi nào sản phẩm đi qua và cho phép khởi động băng tải Vì vậy cảm biến vật cản hồng ngoại được chọn cho
hệ thống này
❖ Lựa chọn linh kiện:
Cảm biến vật cản hồng ngoại E3F - DS30P1 được lựa chọn vì chất lượng tốt và độ bền cao, cảm biến sử dụng ánh sáng hồng ngoại để phát hiện vật cản phía trước Với dải tần số chuyên biệt, cảm biến có khả năng chống nhiễu tốt kể cả ở điều kiện ánh sáng mạnh như ngoài trời
Cảm biến vật cản hồng ngoại E3F-DS30P1 được thiết kế để có khả năng điều chỉnh khoảng cách thông qua biến trở Với cấu trúc Transistor NPN và điện trở nội 10k được nối lên nguồn VCC, cảm biến có thể sử dụng ngay mà không cần trở kéo lên Điều này đảm bảo tính ổn định và tiện lợi trong quá trình sử dụng
Trang 38Điện Áp Hoạt Động:
Điện áp hoạt động của cảm biến thường được chỉ định trong tài liệu kỹ thuật Đảm bảo cung cấp điện áp theo giới hạn được đề xuất để đảm bảo hoạt động đúng cách
❖ Sơ đồ kết nối:
Trang 39Hình 3.3 Sơ đồ khối sensor mổ pnỏng và thực tế
❖ Giải thích sơ đồ:
Emitter (Bộ phát ánh sáng): Bộ phát này tạo ra tia ánh sáng, thường là tia laser hoặc tia hồng ngoại, tùy thuộc vào ứng dụng cụ thể của cảm biến Ánh sáng này được phát ra và chuyển hướng đến vùng mà cảm biến muốn giám sát
Receiver (Bộ nhận ánh sáng): Bộ nhận nhận tia ánh sáng được phát ra bởi bộ phát Nếu có vật thể xuất hiện trong đường của tia ánh sáng, lượng ánh sáng được nhận về sẽ giảm đi, và cảm biến sẽ phát hiện sự thay đổi này
Circuitry (Mạch điện): Các mạch điện trong cảm biến sẽ xử lý thông tin từ bộ nhận và tạo ra một đầu ra hoặc tín hiệu dựa trên sự thay đổi trong lượng ánh sáng nhận được Điều này có thể kích hoạt một công tắc, gửi một tín hiệu đến hệ thống điều khiển, hoặc thực hiện một chức năng khác tùy thuộc vào ứng dụng cụ thể
Lens (Kính chụp ánh sáng): Một ống kính hoặc các thành phần quang học khác có thể được sử dụng để hướng dẫn và tập trung tia ánh sáng từ bộ phát đến bộ nhận, tăng cường hiệu suất của cảm biến
Housing (Vỏ bảo vệ): Cảm biến thường được đặt trong một vỏ bảo vệ để bảo vệ khỏi điều kiện môi trường bên ngoài như bụi, nước, và ảnh hưởng từ các điều kiện ánh sáng môi trường