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

Đồ án thiết kế và thi công hệ thống phân loại sản phẩm bút chì

93 31 0

Đ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 đề Thiết Kế Và Thi Công Hệ Thống Phân Loại Sản Phẩm Bút Chì Theo Màu Sắc
Tác giả Trần Văn Tuấn, Phạm Văn Long
Người hướng dẫn PGS.TS. Nguyễn Thanh Hải
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Tp. Hồ Chí Minh
Chuyên ngành Công Nghệ Kỹ Thuật Điện Tử Truyền Thông
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2020
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 93
Dung lượng 2,58 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • CHƯƠNG 1. TỔNG QUAN (17)
    • 1.1 Đặt vấn đề (17)
    • 1.2 Mục tiêu (18)
    • 1.3 Nội dung nghiên cứu (18)
    • 1.4 Giới hạn của đề tài (19)
    • 1.5 Bố cục (19)
  • CHƯƠNG 2. CƠ SỞ LÝ THUYẾT (20)
    • 2.1 Giới thiệu về xử lý ảnh (20)
      • 2.1.1 Thu nhận ảnh (20)
      • 2.1.2 Tiền xử lý ảnh (21)
      • 2.1.3 Phân đoạn ảnh (22)
      • 2.1.4 Biểu diễn và mô tả ảnh (22)
      • 2.1.5 Nhận dạng và nội suy (23)
    • 2.2 Không gian màu của ảnh (23)
      • 2.2.1 Không gian màu RGB (23)
      • 2.2.2 Không gian màu HSV (25)
      • 2.2.3 Chuyển đổi RGB sang HSV (26)
  • CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ (27)
    • 3.1 Thiết kế phần cứng (28)
      • 3.1.1 Khối nguồn (28)
      • 3.1.2 Khối thu nhận ảnh (29)
      • 3.1.3 Khối điều khiển (29)
      • 3.1.4 Khối thực thi (31)
    • 3.2 Phần mềm xử lý ảnh (33)
      • 3.2.1 Kết nối Webcam với Matlab (34)
      • 3.2.2 Kết nối Arduino với Matlab (35)
    • 3.3 Phương pháp xác định màu của bút chì (35)
      • 3.3.1 Bộ lọc trung bình (36)
      • 3.3.2 Chuyển đổi RGB sang HSV (37)
      • 3.3.3 Phân ngưỡng (37)
      • 3.3.4 Xác định màu bút chì (39)
    • 3.4 Sơ đồ kết nối hệ thống (39)
    • 3.5 Nguyên lý hoạt động (41)
  • CHƯƠNG 4. THI CÔNG HỆ THỐNG (42)
    • 4.1 Thi công hệ thống (42)
    • 4.2 Lập trình hệ thống (46)
      • 4.2.1 Lưu đồ giải thuật mô phỏng (46)
      • 4.2.2 Lưu đồ giải thuật hệ thống (47)
      • 4.2.3 Lưu đồ giải thuật xác định màu sắc (48)
    • 4.3 Tài liệu hướng dẫn sử dụng, thao tác (50)
  • CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ (53)
    • 5.1 Thu thập dữ liệu ảnh (53)
    • 5.2 Kết quả quá trình thực hiện đề tài (54)
      • 5.2.1 Kết quả tính toán thời gian thu nhận ảnh (54)
      • 5.2.2 Kết quả xử lý màu sắc (54)
      • 5.2.3 Kết quả xử lý trên mô hình (56)
      • 5.2.4 Kết quả thống kê (59)
    • 5.3 Nhận xét và đánh giá chung (60)
  • CHƯƠNG 6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (61)
    • 6.1 Kết luận (61)
    • 6.2 Hướng phát triển (61)

Nội dung

TỔNG QUAN

Đặt vấn đề

Khoa học kỹ thuật không ngừng phát triển, đặc biệt trong lĩnh vực sản xuất, nơi việc cải tiến và nâng cấp hệ thống luôn được đặt lên hàng đầu Một trong những giải pháp quan trọng là tự động hóa hệ thống phân loại sản phẩm, giúp nâng cao hiệu quả và chất lượng trong quy trình sản xuất.

Hệ thống này mang lại sự linh hoạt trong sản xuất, tiết kiệm thời gian và nhân lực, đồng thời nâng cao năng suất và hiệu quả kinh tế Ngành công nghiệp ngày càng yêu cầu độ chính xác và tốc độ cao để phù hợp với xu hướng hiện đại hóa Các lĩnh vực như đóng gói sản phẩm, dược phẩm và điện, điện tử đặc biệt cần sự chính xác trong kiểm tra đầu ra Để thay thế con người trong việc kiểm tra thành phẩm với tốc độ và độ chính xác cao, công nghệ xử lý ảnh đã ra đời và liên tục phát triển, hướng tới sự hoàn thiện hơn.

Xử lý ảnh ra đời từ lâu và đã trở thành một phần quan trọng trong cuộc sống, với ứng dụng rộng rãi trong nhiều lĩnh vực như dân sự, quân sự, và y tế Một trong những ứng dụng đầu tiên được ghi nhận là cải thiện chất lượng hình ảnh được truyền qua cáp từ London đến New York vào những năm đầu.

Vào những năm 1920, việc nâng cao chất lượng ảnh trở thành một vấn đề quan trọng, liên quan đến việc phân bố mức sáng và độ phân giải của hình ảnh Sự phát triển này đã mở ra nhiều hướng đi mới trong công nghệ xử lý ảnh.

Từ năm 1964, các phương tiện xử lý và nâng cao chất lượng ảnh đã phát triển mạnh mẽ Tuy nhiên, chỉ trong khoảng một thập niên gần đây, kiến thức về xử lý ảnh mới được đưa vào giảng dạy tại một số trường đại học lớn ở Việt Nam, chủ yếu tập trung tại Thành phố Hồ Chí Minh và Hà Nội.

Hiện nay, ứng dụng xử lý ảnh đã được triển khai trong một số lĩnh vực như nhận dạng biển số xe, vân tay và mã vạch tại Việt Nam Tuy nhiên, số lượng ứng dụng thực tế vẫn còn hạn chế, cho thấy tiềm năng phát triển mạnh mẽ trong tương lai nếu được đầu tư nghiêm túc Nhiều nghiên cứu trước đây, như đồ án “Nhận diện cảm xúc khuôn mặt người” của Nguyễn Thị Đài Trang và Hà Tiến Dương, đã sử dụng công nghệ camera, động cơ servo và board Arduino để khám phá lĩnh vực này.

Bài viết đề cập đến việc sử dụng Uno R3 và phần mềm Matlab để nhận diện cảm xúc, từ đó thực hiện các hành động như mở cửa khi cảm xúc vui, bật đèn khi cảm xúc buồn, và đóng cửa, tắt đèn khi cảm xúc ngạc nhiên Ngoài ra, tác giả Nguyễn Phạm Anh Tuấn đã nghiên cứu đề tài “Nhận dạng biển số xe” bằng cách áp dụng camera và kỹ thuật tách biên kết hợp với chuyển ảnh nhị phân để nhận diện biển số xe một cách hiệu quả.

Xử lý ảnh trong phân loại sản phẩm đang phát triển nhanh chóng, với nhiều phương pháp khác nhau Trong đó, phương pháp phân loại dựa vào màu sắc chưa được áp dụng rộng rãi, mặc dù có nhiều công nghệ như cảm biến màu sắc và kính lọc màu Do đó, chúng tôi đã chọn đề tài nghiên cứu mang tính ứng dụng cao là "Thiết kế và thi công hệ thống phân loại sản phẩm bút chì theo màu sắc" bằng cách sử dụng phần mềm Matlab để xử lý ảnh.

Mục tiêu

Hệ thống phân loại bút chì thông minh được thiết kế và thi công với sự hỗ trợ của Webcam để thu nhận hình ảnh bút chì và gửi dữ liệu vào máy tính để xử lý màu sắc Quá trình xử lý này cho phép phân loại 7 màu sắc khác nhau của bút chì một cách chính xác Bộ xử lý trung tâm của hệ thống là vi điều khiển Arduino Uno R3, nhận dữ liệu từ máy tính để thực hiện việc phân loại tự động.

Nội dung nghiên cứu

Đề tài được thực hiện qua những nội dung như sau:

- Nghiên cứu, tìm hiểu Webcam Logitech C270p

- Nghiên cứu, tìm hiểu động cơ Servo và board Arduino Uno R3

- Nghiên cứu, tìm hiểu phần mềm lập trình Matlab

- Nghiên cứu, tìm hiểu các thuật toán và các hàm, các không gian màu áp dụng cho việc xử lý màu sắc

- Viết code chương trình Matlab xử lý ảnh, màu sắc

- Xây dựng chương trình điều khiển mô hình giao tiếp giữa Matlab và Arduino

- Thiết kế, xây dựng phần cứng của mô hình

- Chạy thử nghiệm, cân chỉnh và sửa lỗi mô hình

- Viết báo cáo luận văn

- Báo cáo đề tài tốt nghiệp

Giới hạn của đề tài

Bài viết này chỉ tập trung vào việc xác định màu sắc của bút chì, bao gồm các màu đỏ, cam, vàng, lục, lam, hồng và tím, mà không đánh giá chất lượng của chúng Các bức ảnh minh họa được thực hiện để thể hiện rõ các màu sắc này.

- Bút chì được đặt trên phông nền có màu sắc không trùng với màu của bút chì

- Xử lý và phân loại màu sắc từng cây bút chì trên hệ thống

- Ảnh được chụp trong điều kiện ánh sáng bình thường, cố định

- Đề tài chỉ giới hạn trong mô hình thu nhỏ.

Bố cục

Chương 1: Tổng Quan Đặt vấn đề liên quan đến đề tài, tìm hiểu những lý do và sự cần thiết để thực hiện đề tài, mục tiêu hoàn thành, giới hạn cũng như những bước đi từ cơ bản đến cụ thể mà nhóm sẽ thực hiện trong quá trình nghiên cứu đề tài

Chương 2: Cơ Sở Lý Thuyết

Trình bày các kiến thức về các bước cơ bản trong xử lý ảnh, không gian màu của ảnh

Chương 3: Thiết Kế Hệ Thống

Trình bày sơ đồ khối của hệ thống, thiết kế cho từng khối Sơ đồ kết nối phần cứng, nguyên lý hoạt động

Chương 4: Thi Công Hệ Thống

Lắp đặt webcam, động cơ servo, buồng tối và khay chứa bút chì cho mô hình băng tải là bước quan trọng trong quá trình phát triển Trình bày lưu đồ giải thuật giúp hình dung rõ ràng các bước thực hiện, trong khi việc viết chương trình phân tích màu sắc bút chì cho mô hình sẽ nâng cao khả năng tự động hóa và chính xác trong việc nhận diện màu sắc.

Chương 5: Kết Quả, Nhận Xét và Đánh Giá

Trình bày kết quả đã đạt được, đưa ra những bàn luận về sản phẩm và viết tài liệu hướng dẫn hệ thống

Chương 6: Kết Luận và Hướng Phát Triển

Kết luận chung về đề tài và hướng phát triển của nó.

CƠ SỞ LÝ THUYẾT

Giới thiệu về xử lý ảnh

Xử lý ảnh kỹ thuật số là một lĩnh vực nghiên cứu quan trọng trong thị giác máy tính, bao gồm các phương pháp thu nhận, phân tích và nhận dạng hình ảnh Nó cũng thuộc về tin học ứng dụng, liên quan đến việc xử lý dữ liệu bằng đồ họa, nơi các ảnh nhân tạo được xem như cấu trúc dữ liệu do chương trình tạo ra Các phương pháp và kỹ thuật trong xử lý ảnh số nhằm biến đổi, truyền tải hoặc mã hóa các ảnh tự nhiên.

Trong những năm gần đây, sự phát triển vượt bậc của phần cứng máy tính đã thúc đẩy lĩnh vực xử lý ảnh với nhiều ứng dụng thực tiễn trong cuộc sống Các ứng dụng này bao gồm khôi phục và chỉnh sửa hình ảnh, nhận dạng chữ viết và vân tay, thị giác máy tính, điều khiển chuyển động của robot, xe không người lái, và xe tự hành Ngoài ra, xử lý ảnh còn được áp dụng trong an ninh và giám sát, cũng như trong y học như nội soi và xử lý tế bào.

Mô tả cụ thể các bước cơ bản trong một hệ thống xử lý ảnh:

Biểu diễn và mô tả ảnh

Nhận dạng và nội suy

Hình 2.1: Các giai đoạn chính trong xử lý ảnh [6]

2.1.1 Thu Nhận Ảnh Đây là công đoạn đầu tiên mang tính quyết định đối với quá trình xử lý ảnh Ảnh đầu vào sẽ được thu nhận qua các thiết bị như camera, máy scan Sau đó các tín hiệu này sẽ được số hóa Các thông số quan trọng ở đây là độ phân giải, chất lượng màu và tốc độ thu nhận ảnh của các thiết bị Chất lượng của một ảnh thu nhận được phụ thuộc vào thiết bị thu, vào môi trường (ánh sáng, phong cảnh)

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

2.1.2 Tiền Xử Lý Ảnh Ở bước này, ảnh sẽ được xử lý để cải thiện về độ tương phản, khử nhiễu,… với mục đích làm cho chất lượng ảnh trở nên tốt hơn, rõ nét hơn Quá trình này thường được thực hiện bởi các bộ lọc Bộ lọc trung bình được sử dụng chính trong bước tiền xử lý ảnh này, nó là bộ lọc mà mỗi điểm ảnh được thay thế bằng trung bình trọng số của các điểm lân cận nhằm loại bỏ những điểm ảnh biến đổi lớn hơn so với điểm lân cận (hay còn gọi là nhiễu) Bộ lọc trung bình được định nghĩa: g(x, y) = ∑ ∑ (k,l)∈W a(k, l)f(x − k, y − l) (2.1)

Trong kỹ thuật lọc trên, nếu ta dùng các trọng số như nhau thì phương trình trên trở thành: g(x, y) = 1

Với: f(x, y) là ảnh đầu vào g(x, y) là ảnh đầu ra a(k, l) là cửa sổ lọc (mặt nạ)

Trong lọc trung bình, việc ưu tiên các hướng là rất quan trọng để bảo vệ biên của ảnh, tránh tình trạng mờ khi thực hiện làm trơn Các loại mặt nạ được áp dụng sẽ khác nhau tùy thuộc vào từng trường hợp cụ thể.

Hình 2.2: Cách thức nhân chập điểm ảnh với cửa sổ lọc [7]

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

Phân đoạn ảnh, hay còn gọi là phân vùng ảnh, là quá trình phân tích hình ảnh thành các thành phần có tính chất tương đồng, dựa trên biên hoặc các vùng liên thông Các tiêu chuẩn để xác định vùng liên thông có thể bao gồm màu sắc hoặc mức xám tương đồng Mục tiêu của phân đoạn ảnh là tạo ra một mô tả tổng quát về các yếu tố cấu thành bức ảnh thô, nhằm phát hiện các đặc trưng của nó Quá trình này bao gồm các thao tác như tìm biên, tách biên và phân loại đối tượng, cùng với việc áp dụng các phương pháp như phát hiện biên cục bộ, dò biên, phân vùng theo miền đồng nhất và phân vùng dựa trên đường biên.

Trong nghiên cứu này, nhóm chúng tôi áp dụng bộ tách biên Sobel để thực hiện việc tách biên ảnh Bộ tách biên Sobel sử dụng mặt nạ Sobel để tính toán các đạo hàm bậc nhất Gx và Gy, giúp phát hiện các đường biên theo cả chiều dọc và chiều ngang một cách hiệu quả.

Mặt nạ Sobel theo hàng: [

Mặt nạ Sobel theo cột: [

] (2.4) Để tính Gx và Gy ta dựa vào mặt nạ Sobel như sau Gọi z là giá trị pixel trong một lân cận kích thước 3x3: [

2.1.4 Biểu Diễn Và Mô Tả Ảnh

Kết quả phân đoạn ảnh thường là dữ liệu điểm ảnh thô, chứa thông tin về biên của một vùng ảnh hoặc tập hợp các điểm ảnh thuộc vùng đó Việc chuyển đổi các số liệu này thành định dạng phù hợp là rất quan trọng.

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT cần thiết cho xử lý tiếp theo bằng máy tính Việc chọn các tính chất để thể hiện ảnh gọi là trích chọn đặc trưng gắn với việc tách các đặc tính của ảnh dưới dạng các thông tin định lượng hoặc làm cơ sở để phân biệt lớp đối tượng này với đối tượng khác trong phạm vi ảnh nhận được Dựa vào phần tử đặc trưng của ảnh đó là pixel Ta có thể biểu diễn ảnh bằng hàm toán học, hoặc các ma trận điểm

2.1.5 Nhận Dạng Và Nội Suy

Nhận dạng ảnh là quá trình xác định và mô tả các đối tượng trong hình ảnh, dựa trên việc so sánh với các mẫu chuẩn đã được học hoặc lưu trữ trước đó.

Nội suy là quá trình phán đoán dựa trên nhận dạng, được phân chia thành hai loại chính: nhận dạng theo tham số và nhận dạng theo cấu trúc Các ứng dụng phổ biến hiện nay bao gồm nhận dạng ký tự, vân tay và khuôn mặt Trong nghiên cứu này, sau khi phân tích và xử lý ảnh, quá trình nhận dạng màu sắc sẽ so sánh với ảnh gốc từ webcam, giúp xác định màu sắc chính xác của ảnh.

Không gian màu của ảnh

Không gian màu là các phương pháp định lượng màu sắc được xây dựng dựa trên công thức khoa học, sử dụng mô hình toán học để xác định và biểu diễn màu sắc dưới dạng số học Điều này cho phép chúng ta chọn và tái tạo màu một cách chính xác Có nhiều không gian màu khác nhau phục vụ cho các mục đích khác nhau, trong đó RGB và HSV là hai không gian màu cơ bản và phổ biến nhất, trong khi không gian màu CMYK thường được áp dụng trong lĩnh vực in ấn màu.

Không gian màu RGB là một trong những không gian màu cơ bản trong xử lý ảnh, sử dụng mô hình bổ sung Trong mô hình này, ánh sáng đỏ, xanh lá cây và xanh da trời được kết hợp theo nhiều cách khác nhau để tạo ra các màu sắc đa dạng Tất cả màu sắc đều được hình thành từ sự pha trộn của ba màu cơ bản: Đỏ, Xanh lá và Xanh dương.

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

Hình 2.3: Không gian màu RGB

Mô hình màu RGB không định nghĩa chính xác các màu như “đỏ”, “xanh lá” hay “xanh dương”, dẫn đến việc cùng một giá trị RGB có thể hiển thị các màu khác nhau trên các thiết bị khác nhau Mặc dù các thiết bị này sử dụng cùng một mô hình màu, nhưng không gian màu thực tế của chúng có sự biến đổi đáng kể.

Trong biểu diễn số trên máy tính, ảnh màu RGB có thể sử dụng số bit màu là

16, 24, 32 hoặc 48 bit Điểm ảnh có số bit màu càng cao thì màu sắc của điểm ảnh càng được biểu diễn chính xác

Mô hình màu RGB được biểu diễn bởi khối lập phương với các trục R, G, B như sau:

Hình 2.4: Hệ tọa độ màu RGB

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

Ảnh số thường được mã hóa bằng 24 bit cho mỗi điểm ảnh, tương đương với 8 bit cho mỗi kênh màu R, G, B Mỗi kênh màu này có giá trị từ 0 đến 255, và sự kết hợp của các giá trị khác nhau giữa các kênh màu sẽ tạo ra nhiều màu sắc khác nhau Do đó, mô hình RGB có khả năng biểu diễn tổng cộng 2^24 màu sắc.

Trong mô hình màu 24bpp, giá trị RGB được biểu diễn bằng ba số nguyên từ 0 đến 255, mỗi số thể hiện cường độ của màu đỏ, xanh lá và xanh lam Chẳng hạn, màu đen tương ứng với giá trị (0, 0, 0), trong khi màu trắng có giá trị (255, 255, 255) và màu đỏ được định nghĩa bởi giá trị (255, 0, 0).

(255, 0, 0), màu xanh lơ có giá trị (0, 255, 255), màu vàng có giá trị (255, 255, 0), màu hồng có giá trị (255, 0, 255) và một số màu khác

Do tính tương quan cao giữa các kênh màu, giá trị cảm nhận không đồng nhất và sự pha trộn giữa dữ liệu thành phần màu với độ sáng, không gian màu RGB ít được ưa chuộng cho phân tích màu và các thuật toán nhận dạng dựa trên màu sắc.

Không gian màu HSV được dùng nhiều trong việc phân tích và chỉnh sửa ảnh

Hệ màu này mô tả màu sắc thông qua ba thông số chính: H (Hue) thể hiện vùng màu, S (Saturation) biểu thị độ bão hòa, và V (Value) chỉ giá trị hay cường độ sáng Thông thường, không gian màu này được thể hiện dưới dạng hình nón ngược hoặc hình trụ.

Hình 2.5: Không gian màu HSV

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

Trong không gian màu HSV, giá trị màu thuần khiết (H) dao động từ 0 đến 360 độ, trong khi độ bão hòa (S) tăng từ 0 đến 1, với S = 0 tương ứng với màu nhạt nhất tại trục nón và S = 1 là màu đậm đặc nhất ở mặt ngoài nón Độ sáng (V) cũng nằm trong khoảng từ 0 đến 1, với V = 0 là tối hoàn toàn và V = 1 là sáng nhất Mỗi cặp ba giá trị (H, S, V) cung cấp thông tin đầy đủ về màu sắc, độ đậm đặc và độ sáng của màu đó.

2.2.3 Chuyển Đổi RGB Sang HSV

Từ không gian màu RGB, chúng ta có thể chuyển đổi sang không gian màu HSV Giả sử có một điểm màu trong hệ RGB với giá trị (R, G, B) Mỗi giá trị R, G, B sẽ được sử dụng để tính toán các thành phần trong không gian màu HSV.

G, B thay đổi trong phạm vi từ 0 đến 255, lấy mỗi giá trị này chia cho 255 ta được R', G', B' có giá trị thay đổi từ 0 đến 1 Ta chuyển sang không gian HSV như sau [8]:

Ta có: R' = R/255, G' = G/255, B' = B/255 Đặt các biến: Cmax = Max(R', G', B'), Cmin = Min(R', G', B'),  = Cmax – Cmin Tính toán giá trị H:

∆ 𝐶𝑚𝑎𝑥 𝑘ℎ𝑖 Cmax ≠ 0 (2.11) Tính toán giá trị V:

Với ba thông số H, S, V, chúng ta dễ dàng xác định khoảng giá trị ngưỡng, và việc chuyển đổi màu từ không gian RGB sang HSV giúp nâng cao độ chính xác trong quá trình nhận diện màu sắc của phần mềm.

TÍNH TOÁN VÀ THIẾT KẾ

Thiết kế phần cứng

Bảng 3.1 Danh sách các linh kiện

STT Tên linh kiện Giá trị Số lượng Chú thích

1 Webcam Logitech 270p 5V 1 Nguồn USB Laptop

2 Board Arduino UNO R3 5V 1 Nguồn USB Laptop

8 Băng tải 30cm 1 Vải màu xanh

9 Băng tải 100cm 1 Vải màu trắng

3.1.1 Khối Nguồn Đề tài chúng em sử dụng nguồn 1 chiều Adapter có sẵn

- Điện áp đầu vào: AC100-240V 50/60Hz

- Điện áp đầu ra: 12V DC

CHƯƠNG 3 TÍNH TOÁN VÀ THIẾT KẾ

Với 2 động cơ 12V định mức và dòng tối đa 1.5A, như vậy với nguồn 12V 3A cho công suất tối đa 36W sẽ đủ cho 2 động cơ

Nhóm chúng em chọn Webcam Logitech C270p vì giá cả phải chăng và hiệu suất ổn định Webcam này cung cấp độ phân giải 720p/30fps, mang lại video sắc nét và rõ ràng Ngoài ra, sản phẩm còn tích hợp mic giảm tiếng ồn, thiết kế nhỏ gọn và linh hoạt, cho phép điều chỉnh góc quay dễ dàng.

- Độ phân giải video 1280 x 720 pixel

- Độ phân giải ảnh lên tới 3.0 megapixel

Camera được đặt phía trên, vuông góc với mặt băng tải và cách mặt băng tải 30cm để cho hình ảnh tốt nhất

Board Arduino có nhiều phiên bản khác nhau với hiệu năng và mục đích sử dụng đa dạng Trong bài viết này, chúng tôi chọn sử dụng board Arduino UNO R3 do chi phí hợp lý và tính linh động cao Arduino UNO R3 được trang bị vi điều khiển ATmega328, bao gồm 1 cổng giao tiếp USB và 6 chân.

CHƯƠNG 3 TÍNH TOÁN VÀ THIẾT KẾ đầu vào analog, 14 chân I/O tín hiệu số tương thích với nhiều board mở rộng khác nhau Nó có thể nạp chương trình qua cổng USB, cấp nguồn qua USB hoặc adapter

Hình 3.4: Mặt trước và sau của board Arduino UNO R3 [9]

Bảng 3.2: Thông số kỹ thuật của Arduino Uno R3.

Vi điều khiển ATmega328 họ 8bit Điện áp hoạt động 5V DC (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

Tần số hoạt động 16 MHz

Dòng tiêu thụ khoảng 30mA

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

Dòng ra tối đa (5V) 500 mA

Dòng ra tối đa (3.3V) 50 mA

Bộ nhớ flash 32 KB (ATmega328) với 0.5KB dùng bởi bootloader

CHƯƠNG 3 TÍNH TOÁN VÀ THIẾT KẾ

Bảng 3.1 cung cấp cái nhìn tổng quan về Board Arduino UNO R3, bao gồm các thông số quan trọng như điện áp hoạt động, điện áp đầu vào đề nghị và giới hạn, số lượng cũng như dòng tối đa trên các chân I/O, bộ nhớ Flash, SRAM, EEPROM, và tốc độ xung đồng hồ Những thông số này giúp chúng ta lựa chọn linh kiện phù hợp với quy định về điện áp, dòng điện và mục đích lập trình, đảm bảo mô hình hoạt động ổn định.

Động cơ DC (Direct Current) là loại động cơ điện một chiều, bao gồm hai dây: dây nguồn và dây tiếp đất Hoạt động của động cơ này phụ thuộc vào lực từ trường tạo ra, chuyển đổi điện năng thành cơ năng và quay với tốc độ tính bằng rpm Tốc độ của động cơ DC có thể được điều chỉnh thông qua việc biến đổi điện áp cung cấp, thay đổi cường độ dòng điện hoặc điều biến độ rộng xung (PWM).

- Tốc độ quay: 50 vòng/phút với điện áp 12V, 150 vòng/phút với điện áp 24V

CHƯƠNG 3 TÍNH TOÁN VÀ THIẾT KẾ Động cơ trong mô hình dùng để kéo băng tải hoạt động, vận chuyển bút chì di chuyển từ đầu băng tải đến cuối băng tải

Động cơ RC Servo S3003 là một thành phần quan trọng trong việc chế tạo và vận hành mô hình, robot Servo này bao gồm bốn thành phần chính: động cơ DC, hộp số, biến trở và mạch điều khiển tích hợp sẵn driver điều khiển theo cơ chế phát xung – quay góc Sự ứng dụng rộng rãi của động cơ này làm nổi bật vai trò của nó trong các dự án công nghệ hiện đại.

Hình 3.6: Động cơ RC Servo S3003

- Kích thước: 40.7mm x 19.7mm x 42.9mm

- Điện áp hoạt động: 4.8 – 7.2VDC

- Lực kéo: 8.5kg/cm (4.8V), 10kg/cm (6V)

- Tốc độ quay: 0.17sec/60degree (4.8v), 0.14sec/60degree (6v)

- Phạm vi nhiệt độ: 0 ºC – 55 ºC

Trong đề tài, động cơ RC Servo S3003 được dùng để hoạt động gạt sản phẩm vào 2 vị trí đã quy định

Module 2 Relay với opto cách ly nhỏ gọn, có opto và transistor cách ly giúp cho việc sử dụng trở nên an toàn, mạch được sử dụng để đóng ngắt nguồn điện công

CHƯƠNG 3 TÍNH TOÁN VÀ THIẾT KẾ suất cao AC hoặc DC, có thể chọn đóng khi kích mức cao hoặc mức thấp bằng Jumper

Tiếp điểm đóng ngắt bao gồm ba thành phần: NC (thường đóng), NO (thường mở) và COM (chân chung), được cách ly hoàn toàn với board mạch chính Ở trạng thái bình thường chưa kích, NC-COM sẽ ngắn mạch trong khi NO-COM sẽ hở mạch Khi có trạng thái kích, NC-COM sẽ hở mạch và NO-COM sẽ ngắn mạch, nghĩa là COM sẽ kết nối với NO và mất kết nối với NC.

- Sử dụng điện áp nuôi DC 5V

- Điện thế đóng ngắt tối đa: AC 250V ~ 10A, DC 30V ~ 10A

- Dòng điện kích hoạt: 5mA

- Relay tiêu thụ dòng khoảng: 80mA

- Có đèn báo đóng ngắt trên Relay

Trong đề tài này module 2 relay được dùng để đóng ngắt động cơ.

Phần mềm xử lý ảnh

MATLAB là phần mềm do công ty MathWorks phát triển, cung cấp môi trường tính toán số và lập trình Phần mềm này cho phép thực hiện các phép toán với ma trận, vẽ đồ thị hàm số, thực hiện thuật toán, tạo giao diện người dùng và kết nối với các chương trình viết bằng nhiều ngôn ngữ lập trình khác.

CHƯƠNG 3 TÍNH TOÁN VÀ THIẾT KẾ

Hình 3.8: Giao diện chính của Matlab

Hệ thống được phát triển hoàn toàn trên nền tảng Matlab, cho phép nhúng dữ liệu vào kit Arduino, từ đó quá trình tính toán và thiết kế chủ yếu diễn ra trên phần mềm Matlab tiếp nhận dữ liệu hình ảnh từ Webcam, xử lý thông tin và truyền tín hiệu đến Arduino để điều khiển động cơ DC và Servo.

3.2.1 Kết nối Webcam với Matlab

Để kết nối Webcam Logitech C270p với máy tính, bạn cần sử dụng cổng USB Để kiểm tra sự giao tiếp giữa Webcam và phần mềm Matlab, hãy nhập lệnh >>webcamlist trong Command Window của Matlab.

Hình 3.9: Cửa sổ Command Window của Matlab khi gõ lệnh webcamlist

Cửa sổ hiển thị hai webcam: webcam tích hợp sẵn của laptop và webcam Logitech C270p vừa được kết nối, cho thấy Matlab đã thiết lập thành công giao tiếp với webcam.

CHƯƠNG 3 TÍNH TOÁN VÀ THIẾT KẾ

3.2.2 Kết nối Arduino với Matlab

Ta gắn board Arduino Uno R3 vào máy tính qua cáp USB Sau đó kiểm tra giao tiếp giữa Matlab và board Arduino bằng lệnh: >>arduino [10]

Hình 3.10: Cửa sổ Command Window của Matlab khi gõ lệnh arduino

Cửa sổ Command Window hiển thị đúng như Hình 4.19 nghĩa là board Arduino Uno đã giao tiếp được với Matlab và sử dụng cổng USB COM5.

Phương pháp xác định màu của bút chì

Phương pháp xác định màu bút chì được trình bày qua sơ đồ khối gồm 6 phần chính: khối thu nhận ảnh, bộ lọc trung bình, bộ chuyển đổi RGB sang HSV, phân ngưỡng, tái hiện ảnh và xác định màu bút chì.

XÁC ĐỊNH MÀU BÚT CHÌ

Hình 3.11: Sơ đồ khối xác định màu của bút chì

CHƯƠNG 3 TÍNH TOÁN VÀ THIẾT KẾ

3.3.1 Bộ lọc trung bình Ảnh thu nhận được thường có hai nguồn nhiễu là: nhiễu cuộn và nhiễu muối tiêu Cả hai nguồn nhiễu này phân bố ở các thành phần tần số cao, sau khi ảnh qua bộ lọc trung bình thì ảnh đã được lọc đi một phần nhiễu và trở nên mịn hơn so với ảnh ban đầu

Bộ lọc trung bình Ảnh đầu vào Ảnh đầu ra

Hình 3.12: Sơ đồ hoạt động của bộ lọc trung bình

Lọc trung bình có giá trị điểm ảnh chính là tích nhân chập ảnh đầu vào với cửa sổ lọc H Cửa sổ lọc H trong trường hợp này có dạng:

Giả sử đầu vào biểu diễn bởi ma trận I:

(3.2) Ảnh số thu được bởi lọc trung bình Y = H⊗I:

Hình 3.13: a) Ảnh RGB gốc của bút chì b) Ảnh RGB đã qua bộ lọc trung bình của bút chì

CHƯƠNG 3 TÍNH TOÁN VÀ THIẾT KẾ

Bộ lọc đã giúp loại bỏ một phần nhiễu, mang lại cho bức ảnh sự mịn màng hơn so với phiên bản gốc trước khi áp dụng bộ lọc trung bình.

3.3.2 Chuyển đổi RGB sang HSV Ảnh webcam thu nhận thường là ảnh ở không gian màu RGB, nhưng không gian màu RGB việc xử lý nhận dạng màu sắc sẽ không hoàn toàn chính xác Để việc nhận dạng màu sắc được chính xác hơn, ta phải chuyển đổi ảnh từ không gian màu RGB sang không gian màu HSV Đây là bước tiếp theo trong quá trình xử lý ảnh của hệ thống, giúp cho chương trình có thể phân biệt màu sắc bút chì một cách tối ưu nhất

Bộ chuyển đổi RGB HSV Ảnh RGB Ảnh HSV

Để chuyển đổi từ không gian màu RGB sang không gian màu HSV, ta sử dụng hàm rgb2hsv() với cú pháp: hsvImage = rgb2hsv(rgbImage) Hình 3.14 minh họa sơ đồ hoạt động của bộ chuyển đổi này.

Hình 3.15: Ảnh khi được chuyển đổi sang HSV

Hình 3.16: Ảnh vòng màu HSV 360 o

CHƯƠNG 3 TÍNH TOÁN VÀ THIẾT KẾ

Dựa trên dữ liệu màu bút chì (đỏ, cam, vàng, lục, lam, hồng, tím) và vòng màu HSV, chúng ta sẽ xác định thông số Hue, Saturation và Value cho từng màu Những giá trị này sẽ được sử dụng để phân ngưỡng và từ đó nhận diện các màu sắc khác nhau của bút chì.

Với 1 ảnh f(x,y) ta sẽ có ảnh đã phân ngưỡng g(x,y) được định nghĩa như sau:

Trong đó với T là ngưỡng Như vậy, các điểm ảnh được đánh nhãn 1 tương ứng với vật thể trong khi đó nhãn 0 tương ứng với nền [1]

Hình 3.17: Ảnh nhị phân của bút chì sau khi phân ngưỡng

Sau khi thực hiện phân ngưỡng trên ảnh gốc, ta tiến hành nhân chập ảnh nhị phân để thu được ảnh phân vùng màu sắc của cây bút chì.

Hình 3.18: Ảnh RGB của bút chì được tái hiện sau khi nhân chập

Dùng hàm tái hiện lại ảnh rgb sau khi phân ngưỡng: maskedRGBImageGreen

CHƯƠNG 3 TÍNH TOÁN VÀ THIẾT KẾ

3.3.4 Xác định màu bút chì

Ngôn ngữ lập trình Matlab có cấu trúc tuần tự, cho phép tái hiện hình ảnh và phân loại màu bút chì theo thứ tự: Đỏ, Cam, Vàng.

Bảng 3.3 Bảng giá trị thông số HSV của từng màu

Màu sắc Giá trị ngưỡng

Sơ đồ kết nối hệ thống

Hình 3.19: Sơ đồ kết nối hệ thống

CHƯƠNG 3 TÍNH TOÁN VÀ THIẾT KẾ

Hình 3.20: Sơ đồ nguyên lý hệ thống

Giải thích sơ đồ kết nối

Hệ thống được kết nối qua sơ đồ phần cứng, với Webcam Logitech C270p và Board Arduino Uno R3 kết nối máy tính qua cổng USB, nơi máy tính cung cấp nguồn cho cả hai thiết bị Board Arduino Uno R3 hoạt động cùng với 2 Module 1 Relay để điều khiển 2 động cơ DC, giúp băng tải di chuyển, đồng thời kết hợp với 2 servo để gạt sản phẩm vào 2 khay.

To set up the Module 2 Relay with a DC motor, connect the NO pin to the V+ of the DC motor and the COM pin to the V+ of a 12V adapter Next, link the VCC and GND pins of the Module 2 Relay to the 5V and GND pins of the Arduino Uno, respectively Connect the V- of the DC motor to the V- of the 12V adapter, and finally, connect the IN1 and IN2 signal pins of the Module 2 Relay to the D3 and D5 pins of the Arduino Uno.

A T M E L www.arduino.cc blogembarcado.blogspot.com

CHƯƠNG 3 TÍNH TOÁN VÀ THIẾT KẾ

Để kết nối động cơ servo, bạn cần nối chân V+ và V- với chân 5V và GND của board Arduino Uno Chân tín hiệu của servo thứ nhất và thứ hai lần lượt được kết nối với chân D6 và D10.

Nguyên lý hoạt động

Đầu tiên, cấp nguồn cho hệ thống và khởi động máy tính, sau đó mở phần mềm Matlab cùng giao diện GUI để điều khiển Kết nối Arduino Uno R3 và Webcam Logitech C270p với máy tính Nhấn nút Start để khởi động hai băng tải, trong đó băng tải vận chuyển luôn hoạt động Băng tải nhập liệu sẽ chạy trong 1 giây rồi dừng, sau đó webcam sẽ chụp ảnh sau 2.5 giây Nếu không có bút chì hoặc bút chì có màu không cần phân loại, băng tải nhập liệu sẽ tiếp tục chạy 1 giây rồi dừng Nếu có màu cần phân loại nhưng cả hai khay đều đã có màu đó, băng tải nhập liệu sẽ chờ 4 giây trước khi tiếp tục chạy 1 giây Khi webcam phát hiện màu bút chì cần phân loại mà chưa có trong khay, băng tải nhập liệu sẽ chờ cho đến khi servo hoàn thành công việc trước khi tiếp tục hoạt động.

Cây bút chì được đặt lên băng tải nhập liệu, nơi nó sẽ được chuyển xuống băng tải vận chuyển Khi bút chì vào buồng tối, webcam Logitech C270p sẽ phát hiện và chụp ảnh, sau đó truyền dữ liệu về máy tính Máy tính xử lý dữ liệu này bằng phần mềm Matlab để phân tích màu sắc Sau khi xử lý, tín hiệu điều khiển được gửi đến board Arduino Uno R3 để điều khiển hai động cơ Servo phân loại Nếu khay 1 chưa có màu nào trong số đỏ, cam, vàng, lục, lam, hồng, tím, Servo 1 sẽ gạt Nếu màu đã có ở khay 1, Servo 2 sẽ gạt cho bút chì tiếp theo Nếu cả hai khay đã có màu, cả hai Servo sẽ không gạt và băng tải sẽ tiếp tục đưa bút chì đi thẳng Khi một trong hai khay đủ 7 màu, màn hình sẽ hiển thị số lượng hộp bút chì tăng thêm 1 và tên các màu trong từng khay Quá trình này diễn ra liên tục cho đến khi nhấn nút Stop để dừng hoạt động.

THI CÔNG HỆ THỐNG

Thi công hệ thống

Tổng quan về phần cứng của mô hình:

- Kích thước băng tải 1: chiều dài 30cm, chiều rộng 20cm, chiều cao 25cm

- Kích thước băng tải 2: chiều dài 100cm, chiều rộng 20cm, chiều cao 20cm

- Webcam Logitech C270p có nhiệm vụ thu nhận ảnh đầu vào, khoảng cách đặt Webcam để thu nhận ảnh tối đa là 30cm tính từ mặt băng tải

- Dùng 2 động cơ Servo 5V để gạt sản phẩm

- 2 Động cơ DC 12V hoạt động điều khiển băng tải với tốc độ 50 vòng/phút

- Board Arduino Uno R3 được đặt phía dưới băng tải, đây là bộ điều khiển trung tâm của mô hình

Khay chứa bút chì Động cơ 1 Động cơ 2

Adruino và Module 2 Relay Buồng tối

CHƯƠNG 4 THI CÔNG HỆ THỐNG

Mô hình băng tải nhỏ gọn, dễ dàng di chuyển và có thể điều chỉnh vị trí linh hoạt Quy trình lắp ráp các thiết bị được thực hiện một cách đơn giản và hiệu quả.

Hình 4.2: Vị trí đặt Webcam Logitech C270p

Webcam Logitech C270p được lắp đặt theo phương thẳng đứng, cách bề mặt băng tải 30cm để đảm bảo chất lượng hình ảnh tối ưu Hai đèn LED được bố trí song song với nhau và cũng song song với Webcam, như thể hiện trong hình 4.1.

Động cơ DC 12V được lắp đặt phía dưới băng tải để điều khiển hoạt động của băng tải, như thể hiện trong Hình 4.3 Băng tải 1 có màu xanh, trong khi băng tải 2 có màu trắng.

Băng tải 1 Động cơ 1 Động cơ 2 Băng tải 2

CHƯƠNG 4 THI CÔNG HỆ THỐNG

Hình 4.4: Vị trí đặt board Arduino Uno R3 và Module Relay

Board Arduino Uno R3 và Module Relay được gắn trên đế gỗ của mô hình, nằm dưới băng tải như Hình 4.5 để gọn gàng, dễ điều khiển

Hình 4.5: Vị trí đặt 2 động cơ Servo

Hai động cơ Servo được đặt song song nhau, cách đoạn cuối của băng tải 15cm và nằm ở 2 bên băng tải như Hình 4.2

Module Relay Mặt băng tải 2

CHƯƠNG 4 THI CÔNG HỆ THỐNG

Hình 4.6: Vị trí đặt 2 khay chứa bút chì

Hai khay chứa bút chì được đặt 2 bên của băng tải, ở vị trí sát động cơ servo như Hình 4.3

Hình 4.7: Vị trí đặt buồng tối

Buồng tối được đặt sau băng tải 1 và trước 2 khay chứa bút chì cùng với servo, được gắn vào khung xung quanh vị trí của Webcam Ở chính giữa buồng tối, Webcam được lắp đặt, bên trong có 2 đèn LED 3.3V để cung cấp ánh sáng cho không gian này.

CHƯƠNG 4 THI CÔNG HỆ THỐNG

Lập trình hệ thống

4.2.1 Lưu đồ giải thuật mô phỏng

Khởi động Matlab và thiết lập các biến môi trường

Xóa tất cả các biến và cửa sổ lệnh trong Matlab

Chương trình phân tích màu sắc có trong ảnh

Chụp ảnh thông qua Webcam và hiển thị trên Matlab

Kiểm tra có nhấn Run?

Hiển thị kết quả trên giao diện

Nhấn Run trên phần mềm

Hình 4.8: Lưu đồ giải thuật mô phỏng

Trước khi chạy chương trình mô phỏng, cần khởi tạo môi trường làm việc trong Matlab bằng cách sử dụng lệnh "Clear all" để xóa tất cả các biến và cửa sổ lệnh Sau đó, hình ảnh sẽ được chụp từ Webcam, hiển thị trên Matlab và được lưu lại.

CHƯƠNG 4 THI CÔNG HỆ THỐNG thành file ảnh Tiếp theo ta sử dụng ngôn ngữ lập trình Matlab để lập trình công việc phân tích màu sắc Sau khi lập trình xong, nhấn Run trên phần mềm Matlab để chạy mô phỏng, kết quả mô phỏng sẽ được hiển thị trên Figure Và quá trình lặp lại khi ta muốn chụp ảnh mới

4.2.2 Lưu đồ giải thuật hệ thống

Matlab và các biến môi trường

Cho băng tải 2 hoạt động

Cho băng tải 1 hoạt động

Kiểm tra có 1 trong 7 màu hay không?

Hiển thị kết quả trên giao diện GUI

Kiểm tra khay 1 đã có màu đó chưa? Điều khiển Servo 1 gạt

Kiểm tra khay 2 đã có màu đó chưa? Điều khiển Servo 2 gạt Điều khiển Servo 1 và Servo 2 ngưng gạt Đ Đ

Gọi hàm phân tích màu sắc

Hình 4.9: Lưu đồ giải thuật hệ thống

Hệ thống phân loại sản phẩm bút chì theo màu sắc được mô tả qua hình 4.16, cho thấy quy trình điều khiển chính bao gồm việc thu nhận ảnh từ Webcam, phân tích màu sắc và điều khiển hai động cơ servo hoạt động.

CHƯƠNG 4 THI CÔNG HỆ THỐNG

4.2.3 Lưu đồ giải thuật xác định màu sắc

Chuyển không gian RGB sang HSV

Tạo mặt nạ nhị phân chỉ có màu đã xác định

Xác định màu sắc dựa vào các giá trị ngưỡng trong HSV

Loại bỏ các điểm có pixel nhỏ hơn 1000, giữ lại các điểm pixel lớn, lấp đầy các khoảng trống

Hiển thị kết quả trên giao diện GUI 1

CHƯƠNG 4 THI CÔNG HỆ THỐNG

Hiển thị kết quả Green

Hiển thị kết quả Red

Hiển thị kết quả Orange Đ

Hiển thị kết quả Yellow

Hiển thị kết quả Blue

Hiển thị kết quả Pink

Hiển thị kết quả Purple

Hình 4.10: Lưu đồ giải thuật xác định màu sắc

CHƯƠNG 4 THI CÔNG HỆ THỐNG

Hình 4.17 minh họa lưu đồ giải thuật xác định màu sắc của 7 màu bút chì Quá trình bắt đầu bằng việc Webcam thu nhận hình ảnh bút chì, sau đó thực hiện bước tiền xử lý và chuyển đổi từ không gian màu RGB sang HSV Tiếp theo, màu sắc bút chì được xác định thông qua các thông số ngưỡng H, S, V, tạo ra ảnh nhị phân chỉ chứa vùng màu tương ứng Cuối cùng, các đối tượng nhỏ được loại bỏ, giữ lại những khu vực lớn hơn 1000 pixel và lấp đầy các khoảng trống.

Các biến từ CC1 đến CC7 đại diện cho các màu sắc đỏ, cam, vàng, lục, lam, hồng và tím Biến NumObject cho biết số lượng đối tượng của mỗi màu trong ảnh Nếu CC1.NumObjects lớn hơn 0, kết quả sẽ hiển thị “Red” cho màu đỏ; nếu không, nếu CC2.NumObjects lớn hơn 0, kết quả sẽ là “Orange” cho màu cam, và quy trình này tiếp tục với các màu còn lại Nếu không có đối tượng nào, kết quả sẽ là “No pencil or Others pencil” để chỉ ra không có bút chì hoặc bút chì có màu khác.

Tài liệu hướng dẫn sử dụng, thao tác

Bước 1: Khởi động phần mềm Matlab

Hình 4.11: Giao diện khi khởi động Matlab

CHƯƠNG 4 THI CÔNG HỆ THỐNG

Bước 2: Bấm Run trong giao diện Matlab

Hình 4.12: Nút Run trong giao diện Matlab

Sau khi nhất nút Run phần mềm sẽ mở ra giao diện Guide như Hình 4.20

Bước 3: Nhấn Start trên giao diện Guide

Hình 4.13: Giao diện điều khiển

4 Hiển thị ảnh kết quả

CHƯƠNG 4 THI CÔNG HỆ THỐNG

5 Hiển thị những màu có ở khay 1

6 Hiển thị những màu có ở khay 2

7 Hiển thị số lượng hộp

8 Hiển thị thông báo kết quả màu sắc

9 Hiển thị thông báo khi một màu đã có ở 2 khay

Nhấn nút Start trên giao diện điều khiển để khởi động chương trình, kích hoạt băng tải và Webcam Cửa sổ Video camera hiển thị hình ảnh liên tục từ Webcam, trong khi cửa sổ Ảnh chụp cung cấp hình ảnh khi có vật thể xuất hiện Cuối cùng, cửa sổ Ảnh kết quả hiển thị ảnh phân vùng màu của vật thể đã được xử lý, kèm theo tên màu ở dưới dòng chữ Ảnh kết quả.

Khay 1 và khay 2 sẽ hiển thị tên các màu hiện có, và khi mỗi khay đạt đủ 7 màu, số lượng hộp sẽ tăng lên 1 và tên màu trong khay sẽ bị xóa Nếu cả hai khay đều có màu giống nhau, thông báo “Already have” sẽ xuất hiện.

Nếu không có bút chì hoặc bút chì màu, chúng ta không thể sử dụng các màu sắc đã được xác định trước trong dữ liệu, bao gồm đỏ, cam, vàng, lục, lam, hồng và tím.

Bước 4: Đặt bút chì lên băng tải 1

Bước 5: Quan sát kết quả

Hình 4.14: Kết quả thu được

KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ

Thu thập dữ liệu ảnh

Bài toán yêu cầu phân biệt màu sắc của 7 cây bút chì màu, bao gồm các màu: đỏ, cam, vàng, lục, lam, hồng, và tím Dưới đây là bộ sưu tập hình ảnh của 7 màu sắc bút chì được chụp trong điều kiện ánh sáng đầy đủ.

Hình 5.1: Tập ảnh thu thập 7 màu sắc khác nhau

CHƯƠNG 5 KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 38

Kết quả quá trình thực hiện đề tài

5.2.1 Kết quả tính toán thời gian thu nhận ảnh

Băng tải 2 dài 1m, với thời gian di chuyển từ đầu đến cuối là 11.8 giây, cho thấy vận tốc bề mặt băng tải 2 là 0.0847m/s Khoảng cách từ điểm bút chì rơi từ băng tải 1 xuống băng tải 2 đến giữa buồng tối nơi đặt Webcam là 0.26cm Do đó, thời gian Webcam cần để chụp bút chì là khoảng 3 giây kể từ khi băng tải 1 dừng lại.

5.2.2 Kết quả xử lý màu sắc

Kết quả nhận diện bút chì màu đỏ a) b) c)

Hình 5.2: a) Ảnh ban đầu của bút chì màu đỏ b) Ảnh nhị phân của bút chì màu đỏ c) Ảnh phân vùng của bút chì màu đỏ

Kết quả nhận diện bút chì màu cam a) b) c)

Hình 5.3: a) Ảnh ban đầu của bút chì màu cam b) Ảnh nhị phân của bút chì màu cam c) Ảnh phân vùng của bút chì màu cam

CHƯƠNG 5 KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 39

Kết quả nhận diện bút chì màu vàng a) b) c)

Hình 5.4: a) Ảnh ban đầu của bút chì màu vàng b) Ảnh nhị phân của bút chì màu vàng c) Ảnh phân vùng của bút chì màu vàng

Kết quả nhận diện bút chì màu lục a) b) c)

Hình 5.5: a) Ảnh ban đầu của bút chì màu lục b) Ảnh nhị phân của bút chì màu lục c) Ảnh phân vùng của bút chì màu lục

Kết quả nhận diện bút chì màu lam a) b) c)

Hình 5.6: a) Ảnh ban đầu của bút chì màu lam b) Ảnh nhị phân của bút chì màu lam c) Ảnh phân vùng của bút chì màu lam

CHƯƠNG 5 KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 40

Kết quả nhận diện bút chì màu hồng a) b) c)

Hình 5.7: a) Ảnh ban đầu của bút chì màu hồng b) Ảnh nhị phân của bút chì màu hồng c) Ảnh phân vùng của bút chì màu hồng

Kết quả nhận diện bút chì màu tím a) b) c)

Hình 5.8 trình bày quá trình xử lý ảnh của bút chì màu tím, bắt đầu với ảnh thực tế trong điều kiện ánh sáng đầy đủ (Hình a) Sau khi loại bỏ các điểm ảnh nhỏ và làm mịn đường viền, ảnh nhị phân được tạo ra như trong Hình b Cuối cùng, việc nhân chập ảnh ban đầu với ảnh nhị phân dẫn đến kết quả là ảnh phân vùng của màu bút chì, thể hiện trong Hình c.

5.2.3 Kết quả xử lý trên mô hình Đầu tiên ta sẽ đặt bút chì lên băng tải 1 để nhập liệu như Hình 5.9, băng tải 1 sẽ đưa bút chì rơi xuống băng tải 2

CHƯƠNG 5 KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 41

Hình 5.9: Bút chì nhập liệu trên băng tải 1

Sau đó bút chì sẽ được băng tải 2 vận chuyển vào buồng tối và Webcam sẽ bắt đầu chụp ảnh bút chì

Hình 5.10: Bút chì đi vào buồng tối

CHƯƠNG 5 KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 42

Bút chì đi vào buồng tối sẽ được Webcam đặt ở giữa buồng tối chụp ảnh, xử lý để nhận biết màu sắc

Hình 5.11: Bút chì ra khỏi buồng tối

Sau khi xử lý, servo sẽ hoạt động quay 1 góc 90 o để đón lấy bút chì đang di chuyển tới

Hình 5.12: Bút chì được tay gạt mở ra đón lấy

Sau 1 khoảng thời gian mở ra chờ bút chì, tay gạt sẽ đóng lại để gạt để bút chì lăn xuống khay

CHƯƠNG 5 KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 43

Hình 5.13: Tay gạt đóng lại gạt bút chì lăn xuống khay

Trong một số trường hợp, việc nhận dạng màu sắc có thể không chính xác hoặc không thực hiện được Nguyên nhân chủ yếu là do mô hình băng tải chuyển động liên tục, kết hợp với độ ổn định của Webcam và nguồn sáng.

Bảng 5.1 Kết quả thống kê khi đưa vào bút chì có màu sắc nằm trong dữ liệu

Màu Số lượng bút chì đưa vào

Số lần nhận dạng màu chính xác Độ chính xác (%) Đỏ 30 30 100%

CHƯƠNG 5 KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 44

Bảng 5.2 Kết quả thống kê khi đưa vào bút chì có màu không nằm trong dữ liệu

Số lượng bút chì đưa vào khác 7 màu trong dữ liệu

Số lần nhận dạng màu chính xác Độ chính xác (%)

Nhận xét và đánh giá chung

Dựa vào kết quả từ Bảng 5.1 và Bảng 5.2, có thể thấy rằng sự ổn định của hệ thống giảm sút khi hoạt động lâu dài Việc kết hợp buồng tối giúp nguồn sáng không bị ảnh hưởng từ ánh sáng bên ngoài, từ đó tăng độ chính xác cho Webcam trong việc chụp ảnh và xử lý màu sắc Kết quả mô phỏng trong phần mềm Matlab đã phản ánh chính xác các màu đỏ, cam, vàng, lục, lam, hồng, tím của bút chì Điều này chứng tỏ mô hình đã đáp ứng đúng mục đích và yêu cầu của đề tài.

Hệ thống này mang lại nhiều lợi ích, bao gồm việc tiết kiệm chi phí nhờ không sử dụng cảm biến để phát hiện vật thể Việc áp dụng không gian màu HSV giúp nâng cao độ chính xác trong nhận dạng màu sắc so với không gian màu RGB Thêm vào đó, buồng tối trong hệ thống đảm bảo quá trình chụp ảnh không bị ảnh hưởng bởi ánh sáng môi trường bên ngoài.

Mô hình này cũng tồn tại một số nhược điểm, bao gồm thuật toán chưa tối ưu, độ ổn định kém khi hoạt động liên tục trong thời gian dài, chưa có khả năng đánh giá chất lượng và kích thước của bút chì, và cơ sở dữ liệu màu chỉ giới hạn trong 7 màu.

Ngày đăng: 18/07/2021, 11:16

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w