1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng hệ thống đếm và phân loại sản phẩm theo màu sắc

52 57 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Nghiên Cứu, Thiết Kế Hệ Thống Đếm Và Phân Loại Sản Phẩm Theo Màu Sắc
Tác giả Nguyễn Minh Trường, Nguyễn Quốc Trường
Người hướng dẫn Th.S. Nguyễn Đức Minh
Trường học Trường Đại Học Công Nghiệp Hà Nội
Chuyên ngành Cơ Điện Tử
Thể loại Đồ Án Môn Học
Năm xuất bản 2022
Thành phố Hà Nội
Định dạng
Số trang 52
Dung lượng 6,43 MB

Cấu trúc

  • LỜI CẢM ƠN

  • LỜI CAM ĐOAN

  • NHẬN XÉT CỦA GIÁO VIÊN

  • TÓM TẮT

  • DANH MỤC HÌNH

  • MỤC LỤC

  • CHƯƠNG 1: TỔNG QUAN VỀ HỆ THỐNG

    • 1.1 Giới thiệu chung:

    • 1.2 Các yêu cầu cơ bản:

    • 1.3 Phương pháp nghiên cứu, phạm vi giới hạn nghiên cứu

    • 1.4 Ý nghĩa thực tế:

  • CHƯƠNG 2: XÂY DỰNG MÔ HÌNH HỆ THỐNG

    • 2.1 Thiết kế sơ đồ khối của hệ thống:

    • 2.2 Phân tích, lựa chọn cảm biến và thiết bị

      • 2.2.1 Cảm biến hồng ngoại E18- D80NK:

      • 2.2.2 ESP32-CAM:

      • 2.2.3 Động cơ DC sevor MG996R:

      • 2.2.4 Mạch hạ áp XL4015:

      • 2.2.5 Mạch điều khiển động cơ DC BTS7960:

      • 2.2.6 Nguồn 24V-5A:

      • 2.2.6 Màn LCD tích hợp I2C:

      • 2.2.7 Băng tải

      • 2.2.8 Động cơ DC

      • 2.2.7 Công tắc 2 vị trí, nút nhấn nhả, nút dừng khẩn cấp:

      • 2.2.8 Đèn báo

      • 2.2.9 Tủ điện

    • 2.3 Phân tích và lựa chọn bộ điều khiển

      • 2.3.1 Arduino mega 2560:

    • 2.4 Thiết kế mạch đo và xử lý tín hiệu

      • 2.4.1 Tổng quan về xử lý ảnh

        • 2.4.1.1 Những vấn đề trong xử lý ảnh

        • a. Điểm ảnh (Picture Element)

        • b. Độ phân giải của ảnh

        • c. Mức xám của ảnh

        • d. Ảnh số

      • 2.4.2 Giới thiệu về ngôn ngữ Python và thư viện OpenCv

        • 2.4.2.1 Ngôn ngữ Python

        • 2.4.2.2 Thư viện OPENCV

      • 2.4.3 Phương pháp phân loại sản phẩm theo màu sắc

        • 2.4.3.1 Các màu sắc cơ bản của sản phẩm

        • 2.4.3.2 Phương pháp nhận dạng màu sắc

  • CHƯƠNG 3: THIẾT KẾ HỆ THỐNG

    • 3.1. Thiết kế hệ thống xử lý ảnh.

      • 3.3.1 Xử lý ảnh dùng ngôn ngữ lập trình Python

    • 3.2 Tính toán và thiết kế hệ thống cơ khi

      • 3.2.1 Băng tải

      • 3.2.2 Thiết kế cơ khí bằng Solidworks

    • 3.3 Tính toán và thiết kế hệ thống điện – điện tử.

      • 3.3.1 Bộ điều khiển động cơ băng tải:

      • 3.3.2 Cảm biến đếm số lượng và servo phân loại phôi theo màu sắc:

      • 3.3.3 Nút dừng khẩn cấp:

      • 3.3.4 Cấp nguồn Arduino:

      • 3.3.5 LCD:

      • 3.3.6 Reset:

    • 3.4 Xây dựng chương trình điều khiển

  • CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN.

    • 4.1 Kết Luận:

      • 4.1.1 Kết quả đạt được

      • 4.1.2 Hạn chế

    • 4.2 Hướng phát triển:

  • TÀI LIỆU THAM KHẢO

Nội dung

BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CƠ KHÍ ĐỒ ÁN MÔN HỌC CƠ ĐIỆN TỬ ĐỀ TÀI NGHIÊN CỨU, THIẾT KẾ HỆ THỐNG ĐẾM SỐ LƯỢNG VÀ PHÂN LOẠI SẢN PHẨM THEO MÀU SẮC Giảng viên hướng dẫn Th S Ngu.

TỔNG QUAN VỀ HỆ THỐNG

Giới thiệu chung

Trong bối cảnh công nghiệp hóa hiện đại hóa tại Việt Nam, việc áp dụng thiết bị hiện đại để tự động hóa quy trình sản xuất, gia công và chế biến sản phẩm là rất cần thiết Sự phát triển này dẫn đến hình thành các hệ thống sản xuất linh hoạt Qua các chuyến thăm thực tế tại nhà máy và khu công nghiệp, chúng ta nhận thấy nhiều khâu trong quy trình sản xuất đã được tự động hóa, trong đó hệ thống phân loại sản phẩm là một trong những khâu quan trọng.

Hệ thống phân loại cà chua tự động, đặc biệt là phân loại theo màu sắc, đang gặp khó khăn trong việc áp dụng hoàn toàn tại các doanh nghiệp vừa và nhỏ, nơi vẫn phụ thuộc vào lao động thủ công Việc sử dụng cảm biến trong mô hình sản xuất phân loại dễ dẫn đến nhiễu, làm giảm năng suất và hiệu quả Xuất phát từ nhu cầu thực tiễn và quá trình nghiên cứu tại trường Đại học Công Nghiệp Hà Nội, dưới sự hướng dẫn của thầy Nguyễn Đức Minh, nhóm đã tiến hành nghiên cứu và thiết kế hệ thống phân loại sản phẩm theo màu sắc, ứng dụng công nghệ xử lý ảnh để nâng cao độ chính xác trong quá trình phân loại.

Các yêu cầu cơ bản

Hệ thống đếm và phân loại sản phẩm theo màu sắc có thiết kế nhỏ gọn, hoạt động ổn định và dễ sử dụng, giúp giảm thiểu sai sót trong quá trình vận hành Người dùng có thể dễ dàng điều chỉnh các thông số như vị trí, tốc độ phân loại và màu sắc cần phân loại theo nhu cầu của mình.

Chúng tôi nghiên cứu đề tài này với mục tiêu áp dụng công nghệ khoa học kỹ thuật tiên tiến vào sản xuất, nhằm giảm thiểu sức lao động và nâng cao năng suất công nghiệp Thực hiện đề tài giúp củng cố kiến thức lý thuyết, phát triển tư duy và nâng cao năng lực bản thân, từ đó góp phần xây dựng nền công nghiệp nước nhà.

Phương pháp nghiên cứu, phạm vi giới hạn nghiên cứu

Áp dụng các kiến thức đã học để xây dựng mô hình thực nghiệm, cụ thể:

 Kiến thức từ môn học cảm biến và hệ thống đo và môn kĩ thuật điện tử, kĩ thuật lập trình, kĩ thuật vi xử lí.

 Tìm kiếm tài liệu và quá trình nghiên cứu thông qua sách vở, mạng xã hội và tham khảo các hội nhóm nghiên cứu khoa học.

 Trao đổi kiến thức với giáo viên hướng dẫn.

 Tiến hành khảo sát và làm việc thực tế trên các linh kiện của hệ thống.

Trong bài viết này, chúng tôi sẽ giới thiệu về cấu tạo và nguyên lý hoạt động của mô hình đếm và phân loại sản phẩm theo màu sắc, sử dụng các thiết bị như Arduino, động cơ DC servo, cảm biến hồng ngoại, mạch hạ áp, modul điều khiển động cơ DC và màn hình LCD.

Ngoài ra còn nghiên cứu về công nghệ xử lý ảnh, vi điều khiển Arduino, cách thức giao tiếp và nạp lệnh.

Ý nghĩa thực tế

Hiện nay, việc phân loại sản phẩm chủ yếu vẫn được thực hiện thủ công, dẫn đến quá trình sản xuất chậm và năng suất lao động không cao Để khắc phục tình trạng này và đáp ứng nhu cầu sản xuất trong nước cũng như quốc tế, chúng tôi thực hiện đề tài “Nghiên cứu, thiết kế hệ thống đếm và phân loại sản phẩm theo màu sắc” Mục tiêu của đề tài là giảm chi phí nhân công, tăng năng suất và đảm bảo chất lượng sản phẩm, từ đó nâng cao khả năng cạnh tranh trên thị trường Mô hình này có thể áp dụng cho việc phân loại các sản phẩm như hoa quả chín và xanh, cũng như các kiện hàng có màu sắc khác nhau.

XÂY DỰNG MÔ HÌNH HỆ THỐNG

Thiết kế sơ đồ khối của hệ thống

Sơ đồ khối dưới đây minh họa sự tương tác giữa các linh kiện và thiết bị trong hệ thống với vi điều khiển, nhằm mục đích đếm và phân loại sản phẩm theo màu sắc.

Hình 2 1: Sơ đồ khối của hệ thống

Laptop có khả năng nhận tín hiệu hình ảnh từ khối thu tín hiệu khi nhận lệnh từ Arduino, thực hiện xử lý và phân tích hình ảnh để nhận dạng, sau đó gửi kết quả trở lại cho Arduino Mega để tiếp tục thực hiện các lệnh tiếp theo.

Arduino Mega 2560 có khả năng nhận tín hiệu từ cảm biến, sau đó điều khiển laptop thực hiện các tác vụ và nhận dữ liệu phản hồi Dữ liệu này được phân tích và sử dụng để điều khiển động cơ, đồng thời gửi thông tin đến khối hiển thị.

Khối camera sử dụng Camera ESP32-CAM để thu thập tín hiệu hình ảnh từ thực tế, chuyển đổi thành tín hiệu điện và gửi dữ liệu đến laptop Đồng thời, khối cảm biến E18-D80NK có nhiệm vụ gửi tín hiệu điện đến khối điều khiển khi phát hiện vật cản đi qua.

- Khối cảm biến: Có chức năng gửi tín hiệu điện cho khối điều khiển khi có vật cản đi qua Sử dụng cảm biến hồng ngoại E18-D80NK.

- Khối động cơ: Được vận hành bằng khối điều khiển Sử dụng động cơ DC và động cơ DC servo MG996R.

- Khối hiển thị: Có chức năng hiển thị kết quả đếm được từ khối điều khiển Sử dụng màn hình LCD16x02

Phân tích, lựa chọn cảm biến và thiết bị

2.2.1 Cảm biến hồng ngoại E18- D80NK: a, Sơ lược về cảm biến hồng ngoại E18- D80NK.

Cảm biến vật cản hồng ngoại E18-D80NK là sản phẩm chất lượng cao, nổi bật với độ bền và ổn định vượt trội Thiết bị này sử dụng ánh sáng hồng ngoại để phát hiện vật cản ở phía trước, với khả năng phát ra tia hồng ngoại trong dải tần số chuyên biệt, giúp chống nhiễu hiệu quả ngay cả trong điều kiện ánh sáng ngoài trời.

Có thể chỉnh khoảng cách mong muốn thông qua biến trở trên cảm biến, cảm biến có ngõ ra là cấu trúc Transistor PNP.

Hình 2 2: Cảm biến hồng ngoại E18- D80NK b, Thông số kỹ thuật.

 Số dây tín hiệu: 3 dây (2 dây cấp nguồn DC và 1 dây tín hiệu).

 Nguồn điện cung cấp: 5VDC.

 Khoảng cách phát hiện: 3 ~ 80cm.

 Có thể điều chỉnh khoảng cách qua biến trở.

 Dòng kích ngõ ra: 300mA.

 Chân tín hiệu ngõ ra: dạng Transistor PNP, khi có vật cản sẽ xuất ra mức cao (High-VCC), khi không có vật cản sẽ ở mức thấp (Low-GND)

 Chất liệu sản phẩm: nhựa.

 Có led hiển thị ngõ ra màu đỏ.

 Kích thước: 18 x 45mm. c, Sơ đồ chân

 Màu nâu: VCC, nguồn dương 5VDC.

 Màu xanh dương: GND, nguồn âm 0VDC.

 Màu đen: Chân tín hiệu ngõ ra cực thu hở PNP.

 Các thông số được tham khảo và lấy từ trang web https:hshop.vn.

2.2.2 ESP32-CAM: a, Sơ lược về camera ESP32-CAM

ESP32-CAM là một mô-đun camera nhỏ gọn với kích thước chỉ 40 x 27 x 12 mm, rất cạnh tranh trong ngành công nghiệp Mô-đun này có khả năng hoạt động độc lập và tiêu thụ dòng nghỉ chỉ 6mA.

ESP-32CAM là một giải pháp lý tưởng cho nhiều ứng dụng IoT, bao gồm thiết bị thông minh trong gia đình, điều khiển không dây trong ngành công nghiệp, giám sát và kiểm soát từ xa, nhận dạng QR không dây, cũng như tín hiệu hệ thống định vị không dây.

Mạch thu phát Wifi BLE ESP32 chính hãng AI – Thinker nổi bật với độ ổn định và bền bỉ cao Sản phẩm được trang bị camera OV2640, cho hình ảnh sắc nét và không bị nhiễu sọc.

Mạch thu phát Wifi BLE ESP32-CAM Ai-Thinker hỗ trợ lập trình qua Arduino IDE, mang lại khả năng biên dịch và viết code dễ dàng Sản phẩm này được cộng đồng phát triển mạnh mẽ, giúp người dùng có thêm tài nguyên và hỗ trợ trong quá trình phát triển dự án.

Thông số cơ bản của Esp-32:

 IC chính: ESP32-S (AI-Thinker)

 Mô-đun Wi-Fi BT SoC 802.11 b/g/n/e/i

 CPU 32-bit công suất thấp, cũng có thể phục vụ bộ xử lý ứng dụng

 Tốc độ đồng hồ lên đến 160MHz, sức mạnh tính toán lên đến 600 DMIPS

 Tích hợp 520 KB SRAM, 4MPSRAM bên ngoài

 Hỗ trợ UART / SPI / I2C / PWM / ADC / DAC

 Hỗ trợ máy ảnh OV2640 và OV7670, đèn flash tích hợp

 Hỗ trợ tải lên WiFI hình ảnh

 Hỗ trợ nhiều chế độ ngủ

 Hỗ trợ chế độ hoạt động STA / AP / STA + AP

 Hỗ trợ cấu hình thông minh / công nghệ AirKiss

 Hỗ trợ nâng cấp cục bộ và từ xa cho cổng nối tiếp (FOTA)

Hình 2 4: Sơ đồ chân camera ESP32-CAM

2.2.3 Động cơ DC sevor MG996R: a, Sơ lược về động cơ DC sevor MG996R Động cơ Servo MG966R là động cơ có mô men xoắn lớn, chạy mượt mà, phù hợp với những mô hình điều khiển có trọng tải lớn như cánh tay robot kim loại Động cơ Servo MG966R được nâng cấp từ MG995 6V / 11kg, có tốc độ và độ chính xác cao

Hình 2 5: Động cơ DC sevor MG996R b, Thông số kỹ thuật.

 Kích thước sản phẩm: 40,7 x19,7 x 42.9mm.

 Sản phẩm Rally: 9.4kg / cm (4.8V), 11kg / cm ( 6V).

 Tốc độ phản ứng: 0.17sec / 60degree (4.8V) 0.14sec / 60degree (6V).

 Các thông số kỹ thuật được tham khảo và lấy từ trang web https:hshop.vn.

2.2.4 Mạch hạ áp XL4015: a, Sơ lược về mạch hạ áp XL4015.

Mạch giảm áp XL4015 có công suất đầu ra 5A 75W, cho phép giảm điện áp với đầu vào từ 8 - 36V và đầu ra từ 1.15V - 32V Sản phẩm lý tưởng cho việc hạ áp từ nguồn pin hoặc biến thế, với điện áp đầu ra có thể điều chỉnh dễ dàng thông qua biến trở nhỏ màu xanh trên board Thiết kế nhỏ gọn và cơ động, mạch này mang lại sự tiện lợi trong việc sử dụng và cung cấp các mức điện áp mong muốn.

Hình 2 6: Mạch hạ áp XL4015 b, Thông số kỹ thuật.

 Điện áp đầu vào: 8~36VDC.

 Điện áp đầu ra: 1.25 ~ 32VDC.

 Dòng đầu ra tối đa: 5A.

 Nhiệt độ làm việc : -40 ~ 125 độ C.

2.2.5 Mạch điều khiển động cơ DC BTS7960: a, Sơ lược về mạch điều khiển động cơ.

BTS7960 là mô-đun điều khiển động cơ DC với cầu H dòng cao, được thiết kế hoàn hảo cho các ứng dụng yêu cầu truyền động động cơ với dòng điện lớn.

Mạch này bao gồm một MOSFET kênh p và một MOSFET kênh n, cùng với vi mạch trình điều khiển tích hợp trong một gói Việc giao tiếp với vi điều khiển trở nên đơn giản nhờ vào vi mạch điều khiển tích hợp, có các đầu vào mức logic và tính năng bảo vệ chống quá nhiệt, quá áp, quá dòng và ngắn mạch.

Hình 2 7: Mạch Điều Khiển Động Cơ DC BTS7960 b, Thông số kỹ thuật.

 Dòng điện tải mach: 43A (Tải trở) hoặc 15A (Tải cảm).

 Tín hiệu logic điều khiển: 3.3 ~ 5V.

 Tần số điều khiển tối đa: 25KHz.

2.2.6 Nguồn 24V-5A: a, Sơ lược nguồn 24V-5A. Động cơ của băng tải là động cơ giảm tốc hoạt động với điện áp 12-24v Do đó để động cơ có thể hoạt động với tốc độ cực đại nên nhóm đã chọn và sử dụng nguồn24v-5a là nguồn một chiều cấp cho toàn hệ thống.

2.2.6 Màn LCD tích hợp I2C: a, Sơ lược Màn LCD tích hợp I2C.

Sử dụng module I2C giúp giảm số chân vi điều khiển cần thiết để kết nối với LCD 16x2 từ 12 chân xuống chỉ còn 4 chân (SCL, SDA, Vcc, GND) Ngoài ra, module I2C còn được trang bị biến trở xoay để điều chỉnh độ tương phản của LCD một cách dễ dàng.

Hình 2 9: Màn LCD tích hợp I2C b, Thông số kĩ thuật:

 Điện áp hoạt động: 2.5-6V DC.

 Màn hình: LCD1602 (driver HD44780).

 Địa chỉ mặc định: 0X27 (có thể điều chỉnh bằng ngắn mạch chân A0/A1/A2).

 Tích hợp Jump chốt để cung cấp đèn cho LCD hoặc ngắt.

 Tích hợp biến trở xoay điều chỉnh độ tương phản cho LCD.

Băng tải là thành phần không thể thiếu trong một hệ thống phân loại sản phẩm.

Băng tải có chức năng vận chuyển phôi đến vị trí thao tác, được trang bị hệ thống con lăn bên dưới Nguồn động lực cho băng tải là động cơ điện, thường kết hợp với hộp giảm tốc để đảm bảo tốc độ và mô-men xoắn cần thiết cho hoạt động hiệu quả.

Hình 2 10: Băng tải PVC mini

Nhóm sử dụng băng tải PVC xanh do loại băng tải này có các đặc điểm thích hợp với đề tài:

- Tải trọng băng tải không quá lớn

- Kết cấu cơ khí không quá phức tạp

- Dễ dàng thiết kế chế tạo, tìm kiếm và mua trên thị trường

2.2.8 Động cơ DC Động cơ một chiều DC ( DC là viết tắt của từ "Direct Current ") là Động cơ điều khiển bằng dòng có hướng xác định hay dễ hiểu hơn thì đây là loại động cơ chạy bằng nguồn điện áp DC - điện áp một chiều Đầu ra của đông cơ thường gồm hai dây.

Động cơ DC là loại động cơ một chiều, hoạt động với cơ năng quay liên tục Trong các loại động cơ điện một chiều, có hai loại chính là động cơ không chổi than (BLDC) và động cơ có chổi than (DC Motor) Trong bài viết này, chúng ta sẽ tập trung vào động cơ DC có chổi than, vì động cơ BLDC thực chất là động cơ điện ba pha không đồng bộ.

Động cơ điện một chiều được phân loại theo cách kích từ thành bốn loại chính: kích từ độc lập, kích từ song song, kích từ nối tiếp và kích từ hỗn hợp Cấu trúc của động cơ này bao gồm ba phần quan trọng: stator (phần cảm), rotor (phần ứng) và phần cổ góp - chỉnh lưu.

Hình 2 12: Cấu tạo của động cơ DC

Stator của động cơ điện một chiều thường là một hay nhiều cặp nam châm vĩnh cửu, hay nam châm điện

Rotor có các cuộn dây quấn và được nối với nguồn điện một chiều

Phân tích và lựa chọn bộ điều khiển

2.3.1 Arduino mega 2560: a, Sơ lược về Arduino mega 2560: Đây là một bo mạch được tích hợp nhiều tính năng nổi bật Tính năng đầu tiên là thiết kế hệ thống I/O lớn với 16 bộ chuyển đổi tương tự và 54 bộ chuyển đổi digital hỗ trợ UART và các chế độ giao tiếp khác Thứ hai, Arduino Mega 2560 có sẵn RTC và các tính năng khác như bộ so sánh, timer, ngắt để điều khiển hoạt động, tiết kiệm điện năng và tốc độ nhanh hơn với xung thạch anh 16 Mhz

Bo này dễ dàng xử lý các chương trình hệ thống lớn và tương thích với nhiều loại bo mạch khác nhau, bao gồm cả tín hiệu mức cao (5V) và tín hiệu mức thấp (3.3V) thông qua chân nạp I/O.

Brownout và watchdog là hai tính năng quan trọng giúp cải thiện độ tin cậy và hiệu suất của hệ thống Chúng hỗ trợ giao thức ICSP và cho phép lập trình vi điều khiển USB thông qua PC và laptop Arduino Mega 2560 là một trong những vi điều khiển nổi bật với nhiều thông số kỹ thuật đáng chú ý.

Chíp xử lý Atmega 2560 Điện áp hoạt động 5V

Cường độ dòng điện trên mỗi 3.3V 50 mA

Cường độ dòng diện trên mỗi I/O pin 20 mA

Clock Speed 16 Mhz b) Cổng kết nối:

 54 chân digital ( trong đó có 15 chân có thể sử dụng như những chân PAM từ chân số 2-13 và chân 44-46).

 6 ngắt ngoài: chân 2 ( interrupt 4), chân 3 ( interrupt 1), chân 18 ( interrupt 5), chân 19 ( interrupt 4), chân 20 ( interrupt 3) và chân 21 ( interrupt 2).

 16 chân vào từ Analog ( từ A0 đến A15 ).

 4 cổng Serial giao tiếp với phần cứng.

 Một thạch anh với tần số dao động 16Mhz.

Thiết kế mạch đo và xử lý tín hiệu

2.4.1 Tổng quan về xử lý ảnh

Xử lý ảnh là lĩnh vực khoa học và công nghệ đang phát triển nhanh chóng, thu hút sự chú ý từ các trung tâm nghiên cứu và ứng dụng, đặc biệt là trong việc phát triển máy tính chuyên dụng Dưới đây là các bước thực hiện quá trình xử lý ảnh.

Thu nhận ảnh: ảnh có thể nhận được qua camera màu hoặc đen trắng Chất lượng một ảnh thu nhận được phụ thuộc vào thiết bị thu, môi trường

Phân tích và vận dụng các kỹ thuật trên hình ảnh:

Tiền xử lý hình ảnh là bước quan trọng sau khi thu nhận ảnh, nhằm cải thiện chất lượng hình ảnh bị nhiễu hoặc có độ tương phản thấp Chức năng chính của quá trình này bao gồm lọc nhiễu và điều chỉnh độ tương phản, giúp tạo ra những hình ảnh rõ nét và chất lượng hơn.

Phân đoạn ảnh : là tách ảnh đầu vào thành các vùng để biểu diễn , phân tích và nhận dạng ảnh

Biểu diễn ảnh là phương pháp mô tả các vật thể sau khi phân đoạn dưới dạng chuỗi điểm, giúp chúng ta hiểu rõ hơn về đặc tính bên trong của vùng ảnh.

Nhận dạng và nội suy là quá trình phân loại vật thể dựa trên các chi tiết mô tả, trong đó nhận dạng ảnh xác định ảnh bằng cách so sánh với mẫu đã lưu trữ Kết quả đầu ra có thể là ảnh đã được thay đổi hoặc các báo cáo dựa trên phân tích hình ảnh đầu vào.

Xử lý ảnh đã được đưa vào giảng dạy tại các trường đại học ở Việt Nam trong khoảng một thập kỷ qua Môn học này liên quan đến nhiều lĩnh vực khác nhau và đòi hỏi người học phải có kiến thức nền tảng vững chắc Dưới đây là một số kiến thức cơ bản về xử lý ảnh.

2.4.1.1 Những vấn đề trong xử lý ảnh a Điểm ảnh (Picture Element)

Điểm ảnh là đơn vị cơ bản tạo nên bức ảnh kỹ thuật số, với mỗi điểm ảnh được xác định bằng tọa độ (x,y) Một bức ảnh kỹ thuật số được hình thành từ hàng ngàn hoặc hàng triệu pixel, và độ chi tiết của ảnh tỷ lệ thuận với số lượng pixel, trong đó một triệu pixel tương đương với 1 megapixel Độ phân giải của ảnh là mật độ điểm ảnh được hiển thị, với khoảng cách giữa các điểm ảnh được chọn sao cho mắt người cảm nhận được sự liên tục của hình ảnh Việc lựa chọn khoảng cách này tạo ra độ phân giải, được phân bổ theo trục x và y trong không gian hai chiều.

Mức xám là kết quả của sự biến đổi độ sáng của điểm ảnh với giá trị nguyên dương, thường nằm trong khoảng [0, 255] Giá trị này xác định cách mỗi điểm ảnh được biểu diễn, với các thang giá trị mức xám phổ biến như 16.

32, 64, 128, 256 (Mức 256 là mức phổ dụng Lý do: từ kỹ thuật máy tính dùng 1 byte

(8 bit) để biểu diễn mức xám Mức xám dùng 1 byte biểu diễn: 2 8 = 256 mức, tức là từ

Là tập hợp hữu hạn các điểm ảnh, thường được biểu diễn bằng một mảng hai chiều (mxn) phần tử Ảnh số được chia làm 3 loại:

Ảnh nhị phân là loại hình ảnh trong đó giá trị xám của tất cả các điểm ảnh chỉ có thể là 1 hoặc 0, nghĩa là mỗi điểm ảnh được biểu diễn bằng 1 bit.

- Ảnh xám: Giá trị xám nằm trong khoảng 0…255 Như vậy mỗi điểm ảnh trong ảnh xám được biểu diễn bởi 1 byte

Ảnh màu được tạo thành từ ba màu cơ bản là đỏ (R), lục (G) và lơ (B), thường được thu nhận trên các giải băng tần khác nhau Để biểu diễn ảnh màu, cần sử dụng 24 bit, chia thành ba khoảng 8 bit để thể hiện cường độ sáng của từng màu Sau quá trình số hóa, ảnh sẽ được lưu lại để phục vụ cho các quá trình xử lý và truyền tải tiếp theo Trong kỹ thuật xử lý ảnh, có nhiều định dạng khác nhau, từ ảnh đen trắng (IMG), ảnh đa cấp xám cho đến ảnh màu như BMP, JPEG và GIF Các phần mềm hỗ trợ xử lý ảnh đóng vai trò quan trọng trong việc chỉnh sửa và tối ưu hóa các định dạng này.

Hiện nay, xử lý ảnh là một lĩnh vực được giảng dạy tại các trường đại học và ứng dụng rộng rãi trong thực tế, như trong các phần mềm chỉnh sửa hình ảnh và nhận diện khuôn mặt Do đó, có nhiều công cụ lập trình hữu ích cho việc phát triển ứng dụng trong lĩnh vực này, nổi bật là Matlab và ngôn ngữ Python.

2.4.2 Giới thiệu về ngôn ngữ Python và thư viện OpenCv

2.4.2.1 Ngôn ngữ Python a Giới thiệu ngôn ngữ Python

Python là một ngôn ngữ lập trình phổ biến, được sử dụng rộng rãi từ môi trường học đường đến các dự án lớn, cho phép phát triển nhiều loại ứng dụng như phần mềm desktop, server, và ứng dụng web Nó cũng là lựa chọn hàng đầu trong lĩnh vực trí tuệ nhân tạo, bao gồm machine learning Được Guido van Rossum phát triển vào năm 1990, Python ban đầu chạy trên nền Unix nhưng hiện nay tương thích với nhiều hệ điều hành như MS-DOS, Mac OS, Windows, và Linux Python được phát triển trong một dự án mã mở, do tổ chức phi lợi nhuận Python Software Foundation quản lý, với Guido van Rossum giữ vai trò quyết định trong hướng phát triển của ngôn ngữ này.

Python là một ngôn ngữ lập trình dễ học với cú pháp đơn giản và ngắn gọn, chỉ sử dụng một số lượng ít từ khóa Ngay cả khi bạn chưa có kinh nghiệm, bạn vẫn có thể hiểu được ý nghĩa của từng dòng lệnh trong mã nguồn Python có nhiều ứng dụng đa dạng và cho phép chạy phần mềm trên nhiều hệ điều hành như Windows, Mac OSX và Linux.

2.4.2.2 Thư viện OPENCV a Giới thiệu

OpenCV (Open Source Computer Vision Library) là một thư viện mã nguồn mở miễn phí, lý tưởng cho những ai mới bắt đầu học về thị giác máy tính và xử lý ảnh Thư viện này hỗ trợ nhiều ngôn ngữ lập trình như C++, C, Python và Java, và có thể chạy trên các nền tảng như Windows, Linux, Mac OS, iOS và Android Được phát triển bởi Intel vào năm 1999 và ra mắt vào năm 2000, OpenCV có nhiều ứng dụng đa dạng như nhận dạng ảnh, phục hồi hình ảnh/video và thực tế ảo Trong bài viết này, OpenCV sẽ được sử dụng chủ yếu với ngôn ngữ Python để xử lý hình ảnh đầu vào và thực hiện nhận dạng ảnh.

OpenCV là một thư viện mã nguồn mở cho phép người dùng sử dụng các thuật toán miễn phí và đóng góp thêm các thuật toán mới, góp phần vào sự phát triển liên tục của thư viện này.

Các tính năng của thư viện OpenCV:

Đối với hình ảnh, chúng ta có thể đọc và lưu hay ghi chúng

Về Video cũng tương tự như hình ảnh cũng có đọc và ghi

Xử lý hình ảnh có thể lọc nhiễu cho ảnh, hay chuyển đổi ảnh

Thực hiện nhận dạng đặc điểm của hình dạng trong ảnh

Phát hiện các đối tượng xác định được xác định trước như khuôn mặt, mắt, xe trong video hoặc hình ảnh

 Phân tích video, ước lượng chuyển động của nó, trừ nền ra và theo dõi các đối tượng trong video.

2.4.3 Phương pháp phân loại sản phẩm theo màu sắc

Dự án "Nghiên cứu, thiết kế hệ thống đếm số lượng và phân loại sản phẩm theo màu sắc" tập trung vào việc thiết kế mô hình phân loại sản phẩm, cụ thể là các phôi, dựa trên ba màu sắc chính: đỏ, xanh và vàng Phần này sẽ đi sâu vào các phương pháp nhận dạng màu sắc khác nhau của sản phẩm và quy trình phân loại sản phẩm theo từng màu sắc đã được xác định.

2.4.3.1 Các màu sắc cơ bản của sản phẩm

THIẾT KẾ HỆ THỐNG

Thiết kế hệ thống xử lý ảnh

3.3.1 Xử lý ảnh dùng ngôn ngữ lập trình Python

Thuật toán xử lý ảnh:

Hình 3 1: Thuật toán xử lý ảnh

- Các công đoạn thực hiện xử lý ảnh :

 Thu nhận hình ảnh từ camera:

Hình 3 2: Hình được chụp từ camera

 Chuyển ảnh thu được sang không gian màu HSV hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)

Hình 3 3: Chuyển sang không gian màu HSV

 Chọn ngưỡng cho hệ màu HSV với các màu cần phân loại Với màu đỏ red_lower = np.array([166, 84, 144], np.uint8) red_upper = np.array([186, 255, 255], np.uint8)

Với màu vàng yellow_lower = np.array([23, 59, 119], np.uint8) yellow_upper = np.array([54, 255, 255], np.uint8)

Với màu xanh nước biển blue_lower = np.array([97, 100, 117], np.uint8) blue_upper = np.array([117, 255, 255], np.uint8)

The code snippet demonstrates how to create binary masks for different colors using the OpenCV library in Python The `cv2.inRange` function is employed to generate a red mask, yellow mask, and blue mask by specifying the lower and upper HSV (Hue, Saturation, Value) boundaries for each color.

 Lọc ra các màu được cài đặt

To filter out red objects in an image, the red mask is dilated using a kernel, followed by applying a bitwise AND operation between the original frame and the red mask to obtain the result for red Similarly, the yellow mask is dilated and combined with the frame to extract yellow objects, while the blue mask undergoes the same dilation process before being applied to the frame to isolate blue objects.

 Xác định đối tượng và dán nhãn

In the image processing workflow, contours are detected and labeled using the OpenCV function `cv2.findContours`, with parameters set for hierarchical retrieval and simple chain approximation Each detected contour is evaluated for its area, and if the area exceeds 3000 pixels, a bounding rectangle is drawn around it This is achieved using `cv2.boundingRect`, and the rectangle is rendered on the frame in red Additionally, the label "Mau Do" is added to the frame at the contour's coordinates, utilizing the `cv2.putText` function to enhance visualization.

The code snippet utilizes Arduino to send a signal while employing OpenCV to find contours in a yellow mask image It retrieves contours and their hierarchy using `cv2.findContours`, then iterates through each contour to calculate its area If the area exceeds 3000, it determines the bounding rectangle for the contour and draws a rectangle on the frame Additionally, the code annotates the frame with the text "Mau Vang" using the specified font and color.

The code snippet utilizes Arduino to send a signal while employing OpenCV to detect contours in a blue mask image It retrieves the contours and hierarchy using the `cv2.findContours` function and iterates through each contour For contours with an area greater than 3000, it calculates the bounding rectangle and draws it on the frame Additionally, it annotates the frame with the text "Mau xanh" at the contour's position, using the specified font and size.

 Đồng thời, ta phân loại thông qua tín hiệu xuất hiện của đối tượng cần phân loại và gửi tín hiệu phân loại về Arduino.

Tính toán và thiết kế hệ thống cơ khi

Băng tải có nhiệm vụ dẫn sản phẩm đến dừng tại các vị trí định sẵn hoặc đưa sản phẩm về khay phân loại cuối băng tải

- Đường kính rulo D = 40 (mm), đường kính trục 10( mm)

- Khối lượng băng tải: 2,5 (kg) (bao gồm khối lượng của rulo , băng tải và phôi)

 Tính toán công suất động cơ:

P dc : Công suất định mức động cơ

P ct : Công suất đẳng trị động cơ P cần thiết

P: Công suất làm việc trên trục công tác.

F ms =m phôi g μ + m rulo g k (3.2) Trong đó:

- k = 1: hệ số ma sát lăn

- μ = 1: hệ số ma sát trượt.

- F mst : lực ma sát trượt.

- F msl : lực ma sát lăn.

Thay vào công thức (3.2) ta được:

Thay vào (3.4) ta được P ct = 3 (W)

Với N: Hiệu suất của hệ truyền động.Trong đó: N = η bt η oI 5 η kn (3.6)

Tra bảng 2.3 Trị số hiệu suất các loại bộ truyền trong cuốn “Tính toán thiết kế

Hệ dẫn động cơ khí” của Trịnh Chất - Lê Văn Uyển, ta có: η bt = 0.75: Hiệu suất băng tải. η oI = 0.995: Hiệu suất ổ lăn. η kn = 0.999: Hiệu suất khớp nối.

Thay vào công thức (3.6) ta được: N = 0.73 (3.7)

Với N = 0.73 và P ct = 3 (W) thay vào công thức (3.5) ta được:

Để xác định số vòng quay của rulô và trục thứ cấp trong hộp giảm tốc, ta cần lưu ý rằng động cơ và rulô của băng tải được kết nối bằng khớp nối cứng Công thức tính số vòng quay được biểu diễn như sau: n dc = n rl `.v π D.

- n dc : số vòng quay của động cơ.

- n rl :số vòng quay của rulo.

Với v = 0,1 (m/s) và D = 0.04 (m) thay vào công thức (3.8) ta được: n dc =n rl H,4(vòng/phút)

 M dc : Momen của động cơ.

Thay F = 30(N) và D =0,04 (m) và công thức (3.9) ta được:

P dc Iv =4,2(W) n dc H,4(vòng/phút)

Nhóm đã chủ động tính toán và chọn các động cơ có sẵn hộp giảm tốc được bán ngoài thị trường.

Chọn động cơ mã JM37-550 S550 Handson Technology.

Hình 3 7: Động cơ mã JM37-550 Handson Technology

 Băng tải: Chọn băng tải có chất liệu vải, chiều dày 2 (mm), rộng 60 (mm), chiều dài có thể tiến hành cắt và nối khi tiến hành chế tạo thực.

3.2.2 Thiết kế cơ khí bằng Solidworks

Hình 3 8: Thiết kế mô hình bằng Solidworks

Tính toán và thiết kế hệ thống điện – điện tử

3.3.1 Bộ điều khiển động cơ băng tải:

Thiết kế và mô phỏng kết nối giữa mạch điều khiển động cơ DC giảm tốc của băng tải với vi điều khiển Arduino được thực hiện trên phần mềm Fritzing Hệ thống điều khiển động cơ sử dụng công tắc hai vị trí và có chức năng hiển thị đèn báo, giúp người dùng dễ dàng theo dõi trạng thái hoạt động của băng tải.

Hình 3 9: Bộ điều khiển động cơ băng tải 3.3.2 Cảm biến đếm số lượng và servo phân loại phôi theo màu sắc:

Thiết kế và mô phỏng hệ thống kết nối giữa động cơ DC servo sử dụng nguồn 6V hạ áp từ nguồn 24V và cảm biến hồng ngoại để phát hiện vật thể với Arduino Hệ thống này cho phép điều khiển động cơ một cách chính xác, đồng thời sử dụng cảm biến hồng ngoại để nhận diện và tương tác với các vật thể xung quanh Việc áp dụng Arduino trong quá trình thiết kế giúp tối ưu hóa hiệu suất và linh hoạt trong việc lập trình, mang lại giải pháp hiệu quả cho các ứng dụng tự động hóa.

Hình 3 10: Cảm biến đếm số lượng và servo phân loại phôi theo màu sắc

3.3.3 Nút dừng khẩn cấp: Để ngắt đột ngột hoạt động của hệ thống khi xảy ra lỗi, sự cố

Hình 3 11: Nút dừng khẩn cấp 3.3.4 Cấp nguồn Arduino:

Sử dụng nguồn 8V hạ áp từ nguồn 24V cấp từ bộ nguồn 24v – 5a.

Hình 3 12: Cấp nguồn Arduino 3.3.5 LCD:

Hiện thị số lượng sản phẩm đếm được theo màu sắc bằng cảm biến hồng ngoại.

3.3.6 Reset: Đặt lại bộ đếm số lượng như ban đầu của hệ thống

Xây dựng chương trình điều khiển

Lưu đồ thuật toán điều khiển

Hình 3 15: Lưu đồ thuật toán điều khiển

 Chương trình điều khiển được xây dựng trên phần mềm Arduino IDE

Hình 3 16: Chương trình điều khiển

 Thực hiện mô phỏng chương trình trên phần mềm Proteus 8

Hình 3 17: Mô phỏng chương trình trên phần mềm Proteus 8

Ngày đăng: 11/10/2022, 16:37

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Hệ thống phân loại cà chua tự động - Xây dựng hệ thống đếm và phân loại sản phẩm theo màu sắc
Hình 1.1 Hệ thống phân loại cà chua tự động (Trang 13)
Sơ đồ khối dưới đây cho chúng ta hình dung được sự tác động qua lại giữa các linh kiện, thiết bị của hệ thống với vi điều khiển của mô hình đếm số lượng và phân loại sản phẩm theo màu sắc. - Xây dựng hệ thống đếm và phân loại sản phẩm theo màu sắc
Sơ đồ kh ối dưới đây cho chúng ta hình dung được sự tác động qua lại giữa các linh kiện, thiết bị của hệ thống với vi điều khiển của mô hình đếm số lượng và phân loại sản phẩm theo màu sắc (Trang 16)
Hình 2. 2: Cảm biến hồng ngoại E18- D80NK - Xây dựng hệ thống đếm và phân loại sản phẩm theo màu sắc
Hình 2. 2: Cảm biến hồng ngoại E18- D80NK (Trang 17)
Hình 2. 4: Sơ đồ chân camera ESP32-CAM - Xây dựng hệ thống đếm và phân loại sản phẩm theo màu sắc
Hình 2. 4: Sơ đồ chân camera ESP32-CAM (Trang 20)
Hình 2. 5: Động cơ DC sevor MG996R - Xây dựng hệ thống đếm và phân loại sản phẩm theo màu sắc
Hình 2. 5: Động cơ DC sevor MG996R (Trang 20)
Hình 2. 6: Mạch hạ áp XL4015 - Xây dựng hệ thống đếm và phân loại sản phẩm theo màu sắc
Hình 2. 6: Mạch hạ áp XL4015 (Trang 21)
Hình 2. 7: Mạch Điều Khiển Động Cơ DC BTS7960 - Xây dựng hệ thống đếm và phân loại sản phẩm theo màu sắc
Hình 2. 7: Mạch Điều Khiển Động Cơ DC BTS7960 (Trang 22)
Hình 2. 8: Nguồn 24V-5A - Xây dựng hệ thống đếm và phân loại sản phẩm theo màu sắc
Hình 2. 8: Nguồn 24V-5A (Trang 23)
Hình 2. 9: Màn LCD tích hợp I2C - Xây dựng hệ thống đếm và phân loại sản phẩm theo màu sắc
Hình 2. 9: Màn LCD tích hợp I2C (Trang 23)
Hình 2. 10: Băng tải PVC mini - Xây dựng hệ thống đếm và phân loại sản phẩm theo màu sắc
Hình 2. 10: Băng tải PVC mini (Trang 24)
Hình 2. 13: Nguyên lí hoạt động của động cơ điện 1 chiều - Xây dựng hệ thống đếm và phân loại sản phẩm theo màu sắc
Hình 2. 13: Nguyên lí hoạt động của động cơ điện 1 chiều (Trang 25)
Hình 2. 15:Đèn báo 2.2.9 Tủ điện - Xây dựng hệ thống đếm và phân loại sản phẩm theo màu sắc
Hình 2. 15:Đèn báo 2.2.9 Tủ điện (Trang 26)
Hình 2. 16: Tủ điện - Xây dựng hệ thống đếm và phân loại sản phẩm theo màu sắc
Hình 2. 16: Tủ điện (Trang 27)
Hình 2. 17: Arduino mega 2560 - Xây dựng hệ thống đếm và phân loại sản phẩm theo màu sắc
Hình 2. 17: Arduino mega 2560 (Trang 28)
Hình 2. 18: Mô hình màu RGB - Xây dựng hệ thống đếm và phân loại sản phẩm theo màu sắc
Hình 2. 18: Mô hình màu RGB (Trang 34)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w