Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (8.07 MB, 79 trang )
<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
<b> ĐỒ ÁN TỐT NGHIỆP</b>
<b>NGÀNH CNKT ĐIỆN TỬ- VIỄN THÔNG</b>
<b>GVHD: ThS. NGUYỄN VĂN HIỆPSVTH: LÂM VĨNH TƯỜNG</b>
<b> THÁI BẠCH THÀNH LONG</b>
<b>BỘ GIÁO DỤC VÀ ĐÀO TẠO </b>
<b>TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH KHOA ĐIỆN - ĐIỆN TỬ </b>
<small> </small>
<b>TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT </b>
<b>THÀNH PHỐ HỒ CHÍ MINH KHOA ĐIỆN-ĐIỆN TỬ </b>
<b>Ngành CNKT Điện tử - Viễn Thông ( CLC) </b>
<b>CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM </b>
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:
<b>- 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 </b>
đế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.
<b>TRƯỞNG NGÀNH GIẢNG VIÊN HƯỚNG DẪN </b>
</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4"><b>TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT </b>
<b>THÀNH PHỐ HỒ CHÍ MINH KHOA ĐIỆN-ĐIỆN TỬ </b>
<b>Ngành CNKT Điện tử - Viễn Thơng ( CLC) </b>
<b>CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM </b>
<b>Độc lập – Tự do – Hạnh phúc </b>
Tp. Thủ Đức, ngày tháng 1 năm 2024
<b>PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN </b>
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ệp<b>NHẬN XÉT: </b>1. Về nội dung đề tài & khối lượng thực hiện: ...
</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5"><b>TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT </b>
<b>THÀNH PHỐ HỒ CHÍ MINH KHOA ĐIỆN-ĐIỆN TỬ </b>
<b>Ngành CNKT Điện tử - Viễn Thông ( CLC) </b>
<b>CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM </b>
<b>Độc lập – Tự do – Hạnh phúc </b>
Tp. Thủ Đức, ngày tháng 1 năm 2024
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:
....
</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">6. Điểm:………(Bằng chữ:... )
Thành phố Thủ Đức, ngày tháng1 năm 2024
<b>Giáo viên phản biện</b>
</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7"><b>LỜI CẢM ƠN </b>
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 q trình thực hiện ḷ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 hồ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 q trình hồ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è đã ln 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à hồ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
</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8"><b>LỜI CAM ĐOAN </b>
Nhóm thực hiện cam đoan rằng ḷ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 hồn tồ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
</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9"><b>TÓM TẮT </b>
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 tố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.
</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">MỤ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
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">3.2. TÍNH TỐ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
</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12"><b>DANH MỤC CÁC BẢNG BIỂU </b>
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
</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13"><b>DANH SÁCH CÁC HÌNH ẢNH </b>
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 hồn thiện chụp từ phía trước ... 40
Hình 4.3 Mơ hình hồn thiện chụp từ phía sau ... 40
Hình 4.4 Mơ hình hồ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
</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">Hì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
</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15"><b>DANH MỤC CÁC TỪ VIẾT TẮT </b>
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
</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16"><b>1.1. Tính cấp thiết của đề tài </b>
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 tồ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 tố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
</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="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.
<b>1.2. Mục tiêu nghiên cứu </b>
Đồ án được thực hiện với những mục tiêu sau: <small>⚫ </small> 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 hồ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.
<b>1.3. Nhiệm vụ nghiên cứu </b>
Nhiệm vụ nghiên cứu của đề tài bao gồm:
• Tìm hiểu.về 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.
<b>1.4. Đối tượng và phạm vi nghiên cứu </b>
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.
</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18"><b>1.5. Giới hạn đề tài </b>
Đề 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 q 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.
<b>1.6. Bố cục quyển báo cáo </b>
Nội dung chính của đề tài được trình bày với 5 chương:
<b>- 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 </b>
nghiên cứu, xác định phạm vi và giới hạn đề tài, đối tượng nghiên cứu.
<b>- Chương 2: CƠ SỞ LÝ THUYẾT: Tổng quan về tình hình nghiên cứu và hướng </b>
nghiên cứu hiện tại.
<b>- Chương 3: THIẾT KẾ HỆ THỐNG: Trình bày mơ hình tổng quan của hệ thống, </b>
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 đó.
<b>- Chương 4: THI CƠNG HỆ THỐNG: Trình bày kết quả thi cơng và triển khai mơ </b>
<b>hình mơ hình hệ thống. </b>
<b>- 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 </b>
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.
</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19"><b>2.1. Thị giác máy tính </b>
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
</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20"><b>2.1.1. Tiền xử lý ảnh </b>
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 tố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.
<b>2.1.2. Phát hiện vật thể </b>
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
</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">và 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ự đốn hình ảnh, nhận diện đối tượng và phát hiện video.
<b>2.1.3. Trích xuất đặc trưng </b>
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 tḥt tố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.
</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22"><b>2.1.4. Phân loại </b>
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 tḥt tố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ố tḥt tố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ự đố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.
<b>2.2. Tổng quan về YOLO </b>
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 tồn bộ hình ảnh một lần duy nhất để dự đoán các vùng chứa đối
</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">tượ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 .
<b>2.3. Kiến trúc mạng YOLO và cách hoạt động của YOLO </b>
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.
</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">Trong 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
<b>2.3.1. Output của YOLO </b>
Đầ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
</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">Trong đó:
- 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
</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">Hì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.
<b>2.3.2. Dự đốn nhiều feature map </b>
Ở 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 vng 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.
</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="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.
<b>2.3.3. Anchor box </b>
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 đó, tḥt tốn quy hồi bounding box sẽ điều chỉnh lại anchor box để tạo ra bounding box dự đố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
</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">về 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.
<b>2.3.4. Dự báo boding box </b>
Để 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ự đốn khơng bị lệch q 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ự đốn có thể đặt ở bất kỳ vị trí nào trong hình ảnh
Để dự đố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ự đố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
</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">tuyế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ự đố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.
<b>2.4. Xử lý ảnh với YOLOv5 2.4.1. Sơ lược về YOLOv5 </b>
<i>Hình 2.10 Bốn phiên bản với kiến trúc mạng của yolo v5 </i>
</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">YOLOv5 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 độ.
<b>2.4.2. Cách hoạt động của YOLOv5 </b>
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:
<b>Tiền xử lý ảnh: Ảnh đầu vào được tiền xử lý trước khi được đưa vào mơ hình </b>
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.
<b>Quá trình dự đốn: Ảnh tiền xử lý được đưa vào mạng YOLOv5 để thực hiện q </b>
trình dự đố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.
<b>Tính tốn bounding boxes và phân loại: Các feature map từ bước trước đó được </b>
sử dụng để tính tố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
</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">bounding 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ừ q trình huấn luyện.
<b>Kết quả đầu ra: Cuối cùng, YOLOv5 trả về các bounding boxes được xác định và </b>
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ỹ tḥt tối ưu hóa giúp mơ hình đạt được tốc độ và hiệu suất tốt.
</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32">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à hồn thiện q trình thiết kế.
<b>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 </b>
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 tḥt tố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.
<b>3.1.2. Sơ đồ khối và chức năng từng khối </b>
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
</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33"><b>Khố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ả </b>
về từ các khối khác.
<b>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. </b>
<b>Khối vận chuyển : giao tiếp với khối điều khiển trung thông qua relay. </b>
<b>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 </b>
phân loại.
<b>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ử </b>
lý thông tin truyền qua khối điều khiển trung tâm.
<b>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, </b>
đả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.
<b>3.2. TÍNH TỐN VÀ THIẾT KẾ HỆ THỐNG </b>
<b> Gồm cấc bước:vai trò, lựa chọn linh kiện, thơng số kỹ tḥt, tính tốn thiết kế, sơ đồ </b>
nguyên lí, giải thích sơ đồ.
<b> Kết nối phần cứng của mỗi khối. </b>
<b>3.2.1. Khối xử lý trung tâm </b>
❖ <b>Vai trò: Bộ xử lý trung tâm có vai trị như “bộ não” của hệ thống. Có chức </b>
<b>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. </b>
</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="34">❖ <b>Lựa chọn linh kiện: </b>
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
<b>Dòng vi điều khiển </b> AVR PIC ARM Cortex-M
<b>Bộ nhớ chương trình </b>
32KB Flash RAM 2KB
14KB Flash RAM 368 Bytes
1MB Flash RAM 192KB
<b>Giao tiếp </b> 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
<b>Tốc độ xử lý </b> 16MHz 20MHz 72MHz-168MHz
<b>Mạch nạp chương trình </b>
MicroUSB PICkit Series ST-Link/V2 J-Link
</div><span class="text_page_counter">Trang 35</span><div class="page_container" data-page="35"><b>Tiêu thụ năng lượng </b>
Thấp Thấp Thấp trừ các dòng F4, F7
<b>Chi phí và mức độ chun mơn </b>
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
<b>❖ Thông số kỹ thuật: </b>
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
</div><span class="text_page_counter">Trang 36</span><div class="page_container" data-page="36">❖ <b>Tính tốn thiết kế: </b>
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,..
❖ <b>Sơ đồ kết nối: </b>
Hình 3.2 Sơ đồ khối xử lí trung tâm mô phỏng và thực tế
</div><span class="text_page_counter">Trang 37</span><div class="page_container" data-page="37"><b>❖ Giải thích sơ đồ: </b>
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.
<b>3.2.2 Khối sensor </b>
<b>❖ 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 </b>
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
<b>hệ thống này. </b>
<b>❖ Lựa chọn linh kiện: </b>
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.
</div><span class="text_page_counter">Trang 38</span><div class="page_container" data-page="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.
<b>❖ Sơ đồ kết nối: </b>
</div><span class="text_page_counter">Trang 39</span><div class="page_container" data-page="39">Hình 3.3 Sơ đồ khối sensor mổ pnỏng và thực tế
<b>❖ Giải thích sơ đồ: </b>
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.
</div>