Thiết kế hệ thống điều khiển phân loại sản phẩm ứng dụng xử lý ảnh tại Đại học Bách Khoa Hà Nội

Bài tập lớn xử lý ảnh: Thiết kế hệ thống điều khiển phân loại sản phẩm dùng xử lý ảnh. Tìm hiểu ứng dụng thực tế và các bước triển khai chi tiết.

Trường đại học

Đại học Bách Khoa Hà Nội

Chuyên ngành

Xử lý ảnh

Người đăng

Ẩn danh

Thể loại

Bài tập lớn

2022

44
0
0

Phí lưu trữ

30 Point

Tóm tắt

I. Toàn cảnh hệ thống phân loại sản phẩm ứng dụng xử lý ảnh

Trong bối cảnh công nghiệp hóa, tự động hóa đóng vai trò then chốt trong việc tối ưu hóa dây chuyền sản xuất. Một trong những khâu quan trọng nhất là phân loại sản phẩm, giúp đảm bảo chất lượng đồng đều và tăng hiệu suất. Hệ thống phân loại sản phẩm ứng dụng xử lý ảnh ra đời như một giải pháp công nghệ cao, thay thế cho phương pháp thủ công truyền thống. Hệ thống này sử dụng thị giác máy tính (computer vision) để tự động nhận dạng và phân loại các đối tượng dựa trên những đặc trưng hình ảnh xác định trước. Nguyên lý hoạt động cốt lõi của hệ thống bắt đầu bằng việc sử dụng một cảm biến camera để thu thập hình ảnh của sản phẩm trên băng chuyền công nghiệp. Dữ liệu hình ảnh này sau đó được truyền đến một máy tính trung tâm để xử lý. Tại đây, các thuật toán xử lý ảnh kỹ thuật số (digital image processing) sẽ phân tích, trích xuất đặc trưng (feature extraction) như màu sắc, kích thước, hoặc hình dạng. Dựa trên kết quả phân tích, hệ thống sẽ đưa ra quyết định phân loại và gửi tín hiệu điều khiển đến các cơ cấu chấp hành như cánh tay robot hoặc piston khí nén để di chuyển sản phẩm đến đúng vị trí. Đề tài này tập trung vào việc thiết kế và xây dựng một mô hình phân loại sản phẩm theo màu sắc (xanh nước biển, xanh lá cây, vàng), một ứng dụng phổ biến trong ngành công nghiệp thực phẩm, dược phẩm và hàng tiêu dùng.

1.1. Các thành phần phần cứng cốt lõi trong hệ thống

Một hệ thống phân loại sản phẩm hoàn chỉnh yêu cầu sự phối hợp nhịp nhàng giữa các thành phần phần cứng. Trung tâm của hệ thống là bộ não điều khiển, thường là một vi điều khiển như Arduino hoặc một máy tính nhúng mạnh mẽ hơn như Raspberry Pi. Trong mô hình tham khảo, Kit Arduino Uno R3 được sử dụng để nhận lệnh từ máy tính và điều khiển trực tiếp các cơ cấu vật lý. Thành phần thu nhận thông tin là cảm biến camera; một camera điện thoại kết nối qua ứng dụng Droidcam là giải pháp tiết kiệm chi phí cho các mô hình nghiên cứu. Để thực hiện hành động phân loại, hệ thống sử dụng các cơ cấu chấp hành. Động cơ Servo SG-90 với ưu điểm nhỏ gọn, điều khiển góc quay chính xác, được dùng để gạt sản phẩm vào các máng chứa khác nhau. Cuối cùng, một động cơ giảm tốc điều khiển băng chuyền công nghiệp mini để di chuyển sản phẩm qua vùng quan sát của camera một cách ổn định.

1.2. Nền tảng phần mềm và thư viện hỗ trợ xử lý ảnh

Phần mềm là linh hồn của hệ thống, nơi các thuật toán phức tạp được triển khai. Thư viện OpenCV (Open Computer Vision) là công cụ mã nguồn mở hàng đầu, được sử dụng rộng rãi trong các ứng dụng thị giác máy tínhhọc máy (machine learning). Được viết bằng C++, OpenCV cung cấp tốc độ xử lý vượt trội cho các tác vụ thời gian thực. Môi trường phát triển tích hợp (IDE) Visual Studio 2019 được sử dụng để xây dựng giao diện người dùng và viết mã xử lý chính bằng ngôn ngữ C++. Song song đó, Arduino IDE là công cụ để lập trình cho vi điều khiển Arduino, nhận tín hiệu từ Visual Studio qua cổng nối tiếp (serial port) và điều khiển servo. Ngoài ra, phần mềm mô phỏng như Proteus 8 Professional cũng có thể được sử dụng để thiết kế và kiểm thử mạch điện tử trước khi triển khai thực tế, giảm thiểu rủi ro và tiết kiệm thời gian.

II. Thách thức trong kiểm tra chất lượng và phân loại sản phẩm

Việc tự động hóa khâu phân loại sản phẩm không chỉ mang lại lợi ích về năng suất mà còn đối mặt với nhiều thách thức kỹ thuật cần giải quyết. Các phương pháp thủ công, mặc dù linh hoạt, lại tồn tại nhiều nhược điểm cố hữu như thiếu nhất quán, dễ gây mệt mỏi cho công nhân, và dẫn đến sai sót trong kiểm tra chất lượng sản phẩm (QC). Tuy nhiên, việc xây dựng một hệ thống tự động hoàn toàn cũng gặp phải các rào cản riêng. Một trong những vấn đề lớn nhất của xử lý ảnh kỹ thuật số là sự biến đổi của môi trường. Sự thay đổi về cường độ và góc chiếu của ánh sáng có thể làm sai lệch màu sắc thực tế của sản phẩm, dẫn đến việc phân loại ảnh (image classification) không chính xác. Nhiễu (noise) trong ảnh, gây ra bởi chất lượng camera hoặc điều kiện môi trường, cũng là một yếu tố làm giảm độ tin cậy của các thuật toán xử lý ảnh. Hơn nữa, tốc độ của băng chuyền công nghiệp phải được đồng bộ hóa chính xác với tốc độ xử lý của hệ thống để đảm bảo mỗi sản phẩm đều được chụp và phân tích kịp thời. Việc lựa chọn và tối ưu thuật toán cũng là một bài toán khó, đòi hỏi sự cân bằng giữa độ chính xác và tốc độ tính toán để đáp ứng yêu cầu thời gian thực của dây chuyền sản xuất.

2.1. Sai sót phổ biến khi phân loại sản phẩm lỗi thủ công

Sự phụ thuộc vào con người trong việc phân loại sản phẩm lỗi là một điểm yếu lớn trong sản xuất hiện đại. Yếu tố mệt mỏi và sự nhàm chán khi lặp đi lặp lại một công việc đơn điệu làm giảm đáng kể khả năng tập trung của công nhân. Điều này dẫn đến việc bỏ sót các sản phẩm không đạt chuẩn hoặc phân loại nhầm các sản phẩm đạt chuẩn. Các tiêu chí phân loại, đặc biệt là phân loại theo màu sắc hoặc phân loại theo kích thước với sai số nhỏ, rất khó để mắt người nhận biết một cách nhất quán qua hàng nghìn sản phẩm. Kết quả là chất lượng đầu ra không đồng đều, ảnh hưởng đến uy tín thương hiệu và gây lãng phí tài nguyên khi phải thu hồi hoặc xử lý lại các lô hàng bị lỗi. Hệ thống tự động giúp loại bỏ các yếu tố chủ quan này, đảm bảo tính nhất quán và độ chính xác cao.

2.2. Khó khăn kỹ thuật trong nhận dạng đối tượng tự động

Việc triển khai nhận dạng đối tượng (object detection) trong môi trường công nghiệp thực tế phức tạp hơn nhiều so với trong phòng thí nghiệm. Như đã đề cập trong báo cáo nghiên cứu, "nhiễu ảnh do cường độ sáng" là một trong những nguyên nhân chính gây ra sai sót. Bóng đổ, ánh sáng phản xạ từ bề mặt sản phẩm, hoặc sự thay đổi ánh sáng tự nhiên trong ngày đều có thể khiến thuật toán nhận diện sai màu. Ngoài ra, tốc độ xử lý là một hạn chế khác. Các thuật toán phức tạp, đặc biệt là các mô hình học sâu (deep learning) như mạng nơ-ron tích chập (CNN), có thể cho độ chính xác cao nhưng đòi hỏi tài nguyên tính toán lớn và thời gian xử lý lâu hơn, gây ra hiện tượng "thắt cổ chai" trên dây chuyền. Do đó, việc tối ưu hóa thuật toán để đạt được sự cân bằng giữa tốc độ và độ chính xác là một thách thức cốt lõi.

III. Phương pháp xử lý ảnh nhận dạng màu sắc sản phẩm với OpenCV

Để giải quyết bài toán phân loại sản phẩm theo màu sắc, một quy trình xử lý ảnh kỹ thuật số hiệu quả đã được xây dựng bằng thư viện OpenCV. Thay vì làm việc trực tiếp trên không gian màu RGB, vốn nhạy cảm với sự thay đổi cường độ ánh sáng, phương pháp này chuyển đổi ảnh đầu vào sang không gian màu HSV (Hue, Saturation, Value). Không gian màu HSV tách biệt thông tin màu sắc (Hue) khỏi thông tin độ bão hòa (Saturation) và độ sáng (Value). Điều này giúp việc xác định màu trở nên ổn định và chính xác hơn nhiều trong các điều kiện ánh sáng khác nhau. Sau khi chuyển đổi, một bước gọi là "phân ngưỡng" (thresholding) được áp dụng. Dựa trên dải giá trị HSV được xác định trước cho từng màu mục tiêu (xanh dương, xanh lá, vàng), hệ thống tạo ra một "mặt nạ" (mask) nhị phân. Vùng ảnh chứa màu sắc cần tìm sẽ có giá trị trắng, còn lại là đen. Tuy nhiên, mặt nạ ban đầu thường chứa nhiều nhiễu. Do đó, các phép toán hình thái học (morphological operations) như co lại (erosion) và giãn nở (dilation) được thực hiện để loại bỏ các điểm nhiễu nhỏ và lấp đầy các lỗ hổng bên trong đối tượng, giúp mặt nạ trở nên hoàn chỉnh hơn.

3.1. Kỹ thuật trích xuất đặc trưng màu sắc bằng không gian HSV

Trong báo cáo bài tập lớn, bước đầu tiên của thuật toán là "chuyển sang hệ màu HSV". Đây là bước nền tảng và quan trọng nhất trong việc trích xuất đặc trưng màu sắc. Trong không gian màu RGB, một màu được định nghĩa bởi sự kết hợp của ba kênh Đỏ, Xanh lá và Xanh dương. Khi ánh sáng thay đổi, cả ba giá trị này đều thay đổi theo, khiến việc xác định một ngưỡng màu ổn định trở nên khó khăn. Ngược lại, không gian HSV mô phỏng cách con người cảm nhận màu sắc. Kênh Hue đại diện cho chính màu sắc đó (ví dụ: đỏ, vàng, lục), kênh Saturation đại diện cho độ tinh khiết của màu (từ xám đến màu rực rỡ), và kênh Value đại diện cho độ sáng của màu. Bằng cách chỉ tập trung vào kênh Hue, thuật toán có thể nhận dạng màu sắc một cách độc lập với sự thay đổi về độ sáng và bóng tối, tăng cường đáng kể độ tin cậy của hệ thống.

3.2. Thuật toán xử lý ảnh để xác định và khoanh vùng đối tượng

Sau khi có được mặt nạ nhị phân sạch từ bước xử lý hình thái học, bước tiếp theo là xác định vị trí và khoanh vùng đối tượng. Thuật toán xử lý ảnh được sử dụng ở đây là findContours trong OpenCV. Hàm này sẽ quét qua ảnh mặt nạ và tìm tất cả các đường bao (contour) của các vùng trắng liên tục. Mỗi đường bao này đại diện cho một đối tượng tiềm năng có màu sắc mong muốn. Để loại bỏ các vùng nhiễu còn sót lại có thể bị nhận nhầm là đối tượng, một bộ lọc dựa trên diện tích được áp dụng. Hệ thống chỉ xem xét các đường bao có diện tích lớn hơn một ngưỡng nhất định. Một khi đối tượng hợp lệ được xác định, hệ thống có thể tính toán các thông số như tâm hoặc hình chữ nhật bao quanh (bounding box) để xác định vị trí chính xác của nó. Thông tin vị trí này sau đó được sử dụng để gửi lệnh điều khiển đến cơ cấu chấp hành.

IV. Hướng dẫn thiết kế hệ thống điều khiển tự động với Arduino

Trái tim của phần cứng trong hệ thống điều khiển tự động này là vi điều khiển Arduino Uno R3. Đây là một board mạch mã nguồn mở, dễ lập trình và có chi phí thấp, rất phù hợp cho các dự án nghiên cứu và mô hình thử nghiệm. Sơ đồ hoạt động của hệ thống điều khiển khá trực tiếp. Máy tính chạy chương trình Visual Studio (C++) sau khi xử lý ảnh và xác định được màu sắc của sản phẩm (ví dụ: 1 cho xanh dương, 2 cho xanh lá, 3 cho vàng) sẽ gửi một ký tự hoặc chuỗi tương ứng qua cổng USB đến Arduino. Giao tiếp này được thực hiện thông qua giao thức nối tiếp (Serial Communication). Đoạn mã trên Arduino IDE sẽ liên tục lắng nghe dữ liệu từ cổng nối tiếp. Khi nhận được một ký tự, nó sẽ thực thi một hành động tương ứng đã được lập trình sẵn. Cụ thể, nếu nhận được ký tự '1', Arduino sẽ điều khiển động cơ Servo SG-90 thứ nhất quay đến một góc xác định để gạt sản phẩm màu xanh dương vào đúng máng. Tương tự với các ký tự khác cho các màu còn lại. Hệ thống này thể hiện một ví dụ điển hình về việc tích hợp giữa một hệ thống xử lý cấp cao (máy tính) và một hệ thống điều khiển cấp thấp (vi điều khiển) để thực hiện một nhiệm vụ tự động hóa.

4.1. Lập trình giao tiếp giữa Visual Studio và vi điều khiển Arduino

Để hệ thống hoạt động, việc thiết lập một kênh giao tiếp ổn định giữa phần mềm xử lý ảnh trên máy tính và vi điều khiển là cực kỳ quan trọng. Trong dự án này, giao tiếp nối tiếp (Serial Port) là phương pháp được lựa chọn. Trên Visual Studio, lớp SerialPort trong .NET Framework cho phép chương trình C++ mở, cấu hình và gửi dữ liệu đến một cổng COM ảo mà Arduino được kết nối. Đoạn mã sẽ xác định cổng COM chính xác và thiết lập tốc độ Baud (ví dụ: 9600 bps) phải khớp với tốc độ được cấu hình trong mã Arduino. Phía Arduino, thư viện Serial được sử dụng với các lệnh Serial.begin() để khởi tạo và Serial.read() để đọc dữ liệu được gửi đến. Sự thành công của việc "truyền/nhận dữ liệu thành công giữa arduino và Visual Studio" là một trong những kết quả chính của đề tài, tạo tiền đề cho việc điều khiển vật lý.

4.2. Điều khiển cơ cấu chấp hành Piston khí nén và cánh tay robot

Trong mô hình nghiên cứu, động cơ servo được sử dụng làm cơ cấu chấp hành vì tính đơn giản và chi phí thấp. Tuy nhiên, trong môi trường công nghiệp thực tế, các giải pháp mạnh mẽ và bền bỉ hơn thường được ưu tiên. Piston khí nén là một lựa chọn phổ biến để đẩy hoặc gạt sản phẩm với tốc độ cao và lực lớn. Arduino có thể điều khiển piston thông qua một van điện từ (solenoid valve) và một relay. Khi Arduino gửi tín hiệu điện áp thấp đến relay, nó sẽ đóng một mạch điện áp cao hơn để kích hoạt van, cho phép khí nén đẩy piston. Đối với các nhiệm vụ phức tạp hơn như gắp và đặt sản phẩm, một cánh tay robot nhiều bậc tự do sẽ được sử dụng. Việc điều khiển cánh tay robot đòi hỏi các thuật toán động học phức tạp hơn, nhưng vẫn có thể được ra lệnh bởi tín hiệu từ vi điều khiển dựa trên kết quả phân tích ảnh.

V. Phân tích mô hình thực nghiệm và kết quả phân loại sản phẩm

Mô hình thực nghiệm được xây dựng thành công và cho thấy khả năng hoạt động ổn định. Kết quả thực nghiệm chỉ ra rằng hệ thống có khả năng nhận dạng và phân loại sản phẩm theo màu sắc một cách chính xác đối với ba màu mục tiêu: xanh nước biển, xanh lá cây và vàng. Giao tiếp giữa ArduinoVisual Studio 2019 thông qua serialport hoạt động trơn tru, đảm bảo tín hiệu điều khiển được truyền đi nhanh chóng và đáng tin cậy. Động cơ servo phản hồi tốt với các lệnh, thực hiện hành động gạt sản phẩm một cách dứt khoát. Theo đánh giá trong báo cáo gốc, "hệ thống hoạt động với độ chính xác khá cao và tương đối ổn định; không bị nhầm lẫn trong việc phân loại màu và phân loại sản phẩm". Tuy nhiên, mô hình cũng bộc lộ một số hạn chế cần được ghi nhận. Tốc độ xử lý của toàn hệ thống chưa được tối ưu hoàn toàn, có thể gây ra hiện tượng bỏ sót sản phẩm nếu tốc độ băng chuyền được đẩy lên cao. Hệ thống cũng chưa có khả năng phát hiện các loại lỗi khác ngoài màu sắc, ví dụ như sản phẩm bị biến dạng, nứt vỡ. Những hạn chế này chủ yếu do giới hạn về thời gian, nguồn lực và điều kiện làm việc từ xa.

5.1. Đánh giá độ chính xác của thuật toán phân loại ảnh

Độ chính xác của hệ thống phụ thuộc trực tiếp vào hiệu quả của thuật toán xử lý ảnh. Trong điều kiện ánh sáng được kiểm soát tốt, mô hình đạt được độ chính xác rất cao trong việc phân loại ảnh. Việc sử dụng không gian màu HSV đã chứng tỏ là một lựa chọn đúng đắn, giúp thuật toán miễn nhiễm phần lớn với các thay đổi nhỏ về độ sáng. Tuy nhiên, khi có sự thay đổi đột ngột về cường độ sáng hoặc khi xuất hiện bóng đổ mạnh, hệ thống có thể gặp sai sót. Báo cáo đề cập rằng "hệ thống sẽ có những hạn chế và xảy ra sai sót nếu thực hiện phân loại nhiều sản phẩm liên tục bởi nhiều yếu tố như là nhiễu ảnh do cường độ sáng". Điều này cho thấy rằng mặc dù thuật toán cơ bản là hiệu quả, nó vẫn cần được cải tiến thêm các kỹ thuật xử lý ảnh nâng cao như cân bằng trắng tự động hoặc các bộ lọc thích ứng để hoạt động tốt hơn trong môi trường công nghiệp thực tế.

5.2. Hiệu suất hoạt động của băng chuyền và cơ cấu chấp hành

Hiệu suất của phần cơ khí cũng là một yếu tố quan trọng quyết định sự thành công của hệ thống. Trong mô hình này, băng chuyền công nghiệp và hệ thống cấp phôi hoạt động khá ổn định, đảm bảo sản phẩm di chuyển vào vùng camera một cách tuần tự. Cơ cấu chấp hành sử dụng servo SG-90, mặc dù có tốc độ phản ứng nhanh, nhưng mô-men xoắn và độ bền không cao, chỉ phù hợp với các sản phẩm nhẹ. Trong một dây chuyền sản xuất thực tế, các động cơ servo công nghiệp hoặc xi lanh khí nén sẽ cần được sử dụng để xử lý các sản phẩm có trọng lượng lớn hơn và yêu cầu chu kỳ hoạt động liên tục. Sự đồng bộ giữa tốc độ băng chuyền và thời gian phản hồi của toàn bộ hệ thống (chụp ảnh, xử lý, điều khiển) là yếu tố then chốt để tối đa hóa thông lượng mà không làm giảm độ chính xác.

VI. Kết luận và hướng phát triển cho đồ án xử lý ảnh tương lai

Tổng kết lại, báo cáo bài tập lớn đã trình bày thành công việc thiết kế và chế tạo một mô hình hệ thống phân loại sản phẩm ứng dụng xử lý ảnh hoạt động hiệu quả. Đề tài đã đạt được các mục tiêu chính đề ra: kết nối và hiển thị hình ảnh thời gian thực, truyền nhận dữ liệu giữa máy tính và vi điều khiển, và điều khiển servo để phân loại sản phẩm theo màu sắc. Đây là một nền tảng vững chắc, minh họa rõ ràng các nguyên lý của thị giác máy tínhhệ thống điều khiển tự động. Tuy nhiên, để phát triển từ một mô hình nghiên cứu thành một sản phẩm công nghiệp hoàn chỉnh, còn nhiều hướng đi cần được khám phá. Những hạn chế hiện tại của hệ thống như tốc độ xử lý, khả năng phát hiện lỗi hạn chế và sự đơn giản của phần cơ khí mở ra nhiều cơ hội cải tiến trong tương lai. Các nghiên cứu tiếp theo có thể tập trung vào việc áp dụng các công nghệ tiên tiến hơn để nâng cao hiệu suất và mở rộng tính năng của hệ thống.

6.1. Cải tiến tốc độ và phát hiện lỗi sản phẩm bằng học sâu

Một trong những hướng phát triển quan trọng nhất là tích hợp các kỹ thuật học máyhọc sâu (deep learning). Thay vì sử dụng các ngưỡng màu cố định, một mạng nơ-ron tích chập (CNN) có thể được huấn luyện để nhận dạng màu sắc và nhiều loại đặc trưng khác một cách linh hoạt và chính xác hơn, kể cả trong điều kiện ánh sáng phức tạp. Quan trọng hơn, các mô hình học sâu có khả năng vượt trội trong việc phân loại sản phẩm lỗi dựa trên các khuyết tật tinh vi về hình dạng, kết cấu bề mặt mà các thuật toán xử lý ảnh truyền thống khó có thể phát hiện. Việc tối ưu hóa mô hình (ví dụ: sử dụng các kiến trúc nhẹ như MobileNet) và tận dụng tăng tốc phần cứng (GPU) sẽ giúp giải quyết bài toán về tốc độ xử lý, đưa hệ thống đến gần hơn với các ứng dụng thời gian thực yêu cầu thông lượng cao.

6.2. Mở rộng đồ án tốt nghiệp xử lý ảnh với PLC và IoT

Để nâng cao tính công nghiệp và khả năng tích hợp, đồ án tốt nghiệp xử lý ảnh trong tương lai có thể thay thế Arduino bằng bộ điều khiển logic khả trình PLC (Programmable Logic Controller). PLC là thiết bị tiêu chuẩn trong tự động hóa công nghiệp, nổi tiếng về độ tin cậy, sự bền bỉ và khả năng mở rộng. Hơn nữa, việc tích hợp công nghệ Vạn vật kết nối (IoT) sẽ cho phép hệ thống không chỉ hoạt động độc lập mà còn có thể kết nối với mạng lưới sản xuất lớn hơn. Dữ liệu về số lượng sản phẩm, tỷ lệ lỗi, và tình trạng hoạt động của hệ thống có thể được thu thập và gửi lên một nền tảng đám mây. Điều này cho phép việc giám sát và quản lý dây chuyền từ xa, phân tích dữ liệu lớn để tối ưu hóa quy trình sản xuất và thực hiện bảo trì dự đoán, phù hợp với xu hướng của nhà máy thông minh và Công nghiệp 4.0.

20/09/2025

Trích đoạn nội dung tài liệu

CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 1. Giới thiệu chung: Hiện nay ngành công nghiệp ngày càng phát triển các công ty xí nghiệp đã áp dụng tự động hóa vào sản xuất để tiện ích cho việc quản lý dây chuyền và sản phẩm của toàn bộ hệ thống một cách hợp lý là yêu cầu thiết yếu, tiết kiệm được nhiều thời gian cũng như quản lý một cách dễ dàng. Trong đó có một khâu quan trọng ảnh hưởng đến chất lượng sản phẩm là phân loại sản phẩm. Hệ thống phân loại sản phẩm nhằm chia sản phẩm ra các nhóm có cùng thuộc tính với nhau để thực hiện đóng gói hay loại bỏ sản phẩm hỏng.Để đáp ứng yêu cầu đó, nhóm chúng em đã tiến hành nghiên cứu tài liệu, thiết kế và xây dựng mô hình “Hệ thống phân loại sản phẩm theo màu sắc ứng dụng xử lý ảnh”.

Mục tiêu thiết kế là mô hình phân loại sản phẩm theo màu sắc (xanh nước biển, xanh lá cây, vàng). Dựa trên ngôn ngữ C++ với thư viện chính là OpenCV và được thực hiện trên Kit Arduino Uno R3. Ở đây sử dụng các đặc điểm riêng biệt của từng màu sắc để đi nhận dạng và sau đó phân loại từng sản phẩm. Kết quả thực hiện của đề tài đã nhận dạng được những sản phẩm có màu sắc (xanh nước biển, xanh lá cây, vàng).

Nguyên lý hoạt động của hệ thống : Hệ thống phân loại sản phẩm hoạt động trên nguyên lý dùng camera để thu nhận ảnh, sau đó dữ liệu ảnh này được truyền cho máy tính để xử lý. Sau khi máy tính xử lý sẽ đưa ra kết quả về màu sắc của đối tượng, từ kết quả này thì máy tính sẽ đưa ra các lệnh truyền xuống bộ điều khiển để bộ điều khiển tiến hành điều khiển cơ cấu chấp hành để phân loại đối tượng. 1 Những lợi ích mà hệ thống phân loại sản phẩm đem lại cho chúng ta là rất lớn, cụ thể như:  Giảm sức lao động, tránh được sự nhàm chán trong công việc, cải thiện được điều kiện làm việc của con người, tạo cho con người tiếp cận với sự tiến bộ của khoa học kỹ thuật và được làm việc trong môi trường ngày càng văn minh hơn.  Nâng cao năng suất lao động, tạo tiền đề cho việc giảm giá thành sản phẩm, cũng như thay đổi mẫu mã một cách nhanh chóng.

 Giúp cho việc quản lý và giám sát trở nên rất đơn giản, bởi vì nó không những thay đổi điều kiện làm việc của công nhân mà còn có thể giảm số lượng công nhân đến mức tối đa. Các thành phần cơ bản của hệ thống : 1. Kit Arduino Uno R3 Một board mạch chủ chính dùng để truyền và nhận dữ liệu từ người sử dụng đến các thiết bị điện tử khác. 2 Các thông số cơ bản: Vi điều khiển ATmega328 họ 8bit Điện áp hoạt động 5V DC (chỉ được cấp qua cổng USB) Tần số hoạt động 16 MHz Dòng tiêu thụ khoảng 30mA Đ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 30 mA I/O Dòng ra tối đa (5V) 500 mA 3 Dòng ra tối đa (3.3V) 50 mA 32 KB (ATmega328) với 0.5KB dùng bởi Bộ nhớ flash bootloader SRAM 2 KB (ATmega328) EEPROM 1 KB (ATmega328) b.

Động cơ Servo SG-90 Động cơ servo SG-90 có kích thước nhỏ, là loại được sử dụng nhiều nhất để làm các mô hình nhỏ hoặc các cơ cấu kéo không cần đến lực nặng. Động cơ servo SG-90 180 độ có tốc độ phản ứng nhanh, các bánh răng được làm bằng nhựa nên cần lưu ý khi nâng tải nặng vì có thể làm hư bánh răng, động cơ RC Servo 9G có tích hợp sẵn Driver điều khiển động cơ bên trong nên có thể dễ dàng điều khiển góc quay bằng phương pháp điều độ rộng xung PWM. Động cơ servo SG-90 được thiết kế hệ thống hồi tiếp vòng kín. Tín hiệu ra của động cơ được nối với một mạch điều khiển.

Khi động cơ quay, vận tốc và vị trí sẽ được hồi tiếp về mạch điều khiển này. Thông số kĩ thuật:  Khối lượng : 9g  Kích thước: 22.32 mm  Momen xoắn: 1.8kg/cm  Tốc độ hoạt động: 60 độ trong 0.1 giây  Điện áp hoạt động: 4.8V(~5V) 4  Nhiệt độ hoạt động: 0 ºC – 55 ºC  Kết nối dây màu đỏ với 5V, dây màu nâu với mass, dây màu cam với chân phát xung của vi điều khiển. Ở chân xung cấp một xung từ 1ms-2ms theo để điều khiển góc quay theo ý muốn. Camera Để tiết kiệm chi phí, nhóm em sử dụng camera điện thoại để thu nhận ảnh.

Động cơ giảm tốc Thông số kỹ thuật của động cơ giảm tốc  Điện áp hoạt động:3V~ 9V DC (Hoạt động tốt nhất từ 6 - 8V)  Mômen xoắn cực đại: 800gf cm min 1:48 (3V)  Tốc độ không tải: 125 Vòng/ 1 Phút (3V)  208 Vòng/ 1 Phút (5V)  Dòng không tải động cơ: 70mA (250mA MAX) 1. Thư viện Open CV - OpenCV (Open Computer Vision) là một thư viện mã nguồn mở hàng đầu cho xử lý về thị giác máy tính, machine learning, xử lý ảnh. OpenCV đươc viết bằng C/C++, vì vậy có tốc độ tính toán rất nhanh, có thể sử dụng với các ứng dụng liên quan đến thời gian thực. Opencv có các interface cho C/C++, Python Java vì vậy hỗ trợ được cho Window, Linux, MacOs lẫn Android, iOS OpenCV có cộng đồng hơn 47 nghìn người dùng và số lượng download vượt quá 6 triệu lần.

- OpenCV có rất nhiều ứng dụng:  Hình ảnh street view  Kiểm tra và giám sát tự động  Robot và xe hơi tự lái  Phân tích hình ảnh y học  Tìm kiếm và phục hồi hình ảnh/video  Phim – cấu trúc 3D từ chuyển động  Nghệ thuật sắp đặt tương tác - Tính năng và các module phổ biến của OpenCV:  Xử lý và hiển thị Hình ảnh/ Video/ I/O (core, imgproc, highgui) 6  Phát hiện các vật thể (objdetect, features2d, nonfree)  Geometry-based monocular hoặc stereo computer vision (calib3d, stitching, videostab)  Computational photography (photo, video, superres)  Machine learning & clustering (ml, flann)  CUDA acceleration (gpu) b. Arduino IDE  Arduino IDE là một phần mềm mã nguồn mở chủ yếu được sử dụng để viết và biên dịch mã vào module Arduino. Nó có các phiên bản cho các hệ điều hành như MAC, Windows, Linux và chạy trên nền tảng Java đi kèm với các chức năng và lệnh có sẵn đóng vai trò quan trọng để gỡ lỗi, chỉnh sửa và biên dịch mã trong môi trường.  Mỗi module chứa một bộ vi điều khiển trên bo mạch được lập trình và chấp nhận thông tin dưới dạng mã.

Mã chính, còn được gọi là sketch, được tạo trên nền tảng IDE sẽ tạo ra một file Hex, sau đó được chuyển và tải lên trong bộ điều khiển trên bo.  Môi trường IDE chủ yếu chứa hai phần cơ bản: Trình chỉnh sửa và Trình biên dịch, phần đầu sử dụng để viết mã được yêu cầu và phần sau được sử dụng để biên dịch và tải mã lên module Arduino. Môi trường này hỗ trợ cả ngôn ngữ C và C ++. Visual Studio 2019 - Công cụ lập trình Visual Studio là một trong những IDE (Integrated Development Environments) có thể được sử dụng để xây dựng các dự án liên quan đến giải pháp phần mềm, ứng dụng và giao diện người dùng đồ họa.

- Lập trình bằng bộ công cụ hoàn hảo từ thiết kế ban đầu tới triển khai cuối cùng  Cải thiện hiệu suất IntelliSense cho file C++  Phát triển cục bộ bằng nhiều trình giả lập phổ biến  Đơn giản hóa truy cập thử nghiệm trong Solution Explorer  Quản lý Git và tạo repository trong IDE  Hỗ trợ Kubernetes bao gồm trong khối lượng công việc của Microsoft Azure d. Proteus 8 Professonal 8 Proteus là một phần mềm thiết kế mô phỏng mạch điện tử với bất kỳ thiết bị điện tử tương tự và điện tử số. Ngoài ra phần mềm còn hỗ trợ các vi mạch điều khiển như PIC 10, PIC12, Atmel AVR, ARM Cortex-M3 và nhiều loại khác. Đây là một công cụ hữu ích trong công việc cũng như trong học tập về thiết kế mạch điện.

Tính năng Proteus Professional :  Một ứng dụng rất tiện dụng và mạnh mẽ đã được phát triển để giúp người hủy bỏ xây dựng cũng như xác minh các bảng mạch dễ dàng hơn.  Được trang bị một giao diện được tổ chức rất tốt, nơi chứa tất cả các công cụ và lệnh cần thiết để xây dựng các bảng mạch và thử nghiệm chúng.  Có thể bắt đầu mọi thứ bằng cách tải một trong nhiều mẫu mà Proteus PCB Design đi kèm.  Các mô phỏng tương tác có thể được bắt đầu với ứng dụng này rất hữu ích như khả năng xem cũng như chỉnh sửa các thuộc tính của mọi thành phần trên bảng.

 Các tùy chỉnh có thể đi sâu vào từng mục và sau đó có một số tùy chọn xem có thể được sử dụng để giảm bớt công việc của bạn.  Tab Có mã nguồn nơi các thay đổi có thể được thực hiện ở mức rất cơ bản cho từng thành phần là một phần của dự án được tải. Ứng dụng Droidcam 9 Nhóm em sử dụng ứng dụng Droidcam trên điện thoại. Với ứng dụng này thì điện thoại sẽ gần giống như là một PC Camera.

DroidCam là ứng dụng cho phép biến thiết bị Android của bạn thành một webcam. Ứng dụng hoạt động với một PC client kết nối máy tính với điện thoại. Ứng dụng này hỗ trợ Android, iOS và Windows. Nó cho phép bạn kết nối laptop hoặc PC qua mạng WiFi hoặc với sự trợ giúp của cáp USB.

Những tính năng chính của DroidCam bao gồm:  Trò chuyện bằng "DroidCam Webcam" trên máy tính, bao gồm cả âm thanh và hình ảnh.  Hoàn toàn miễn phí không có giới hạn sử dụng hoặc watermark.  Kết nối qua WiFi hoặc USB.  Loại bỏ tiếng ồn của micro.

 Sử dụng các ứng dụng (không phải camera) khác với DroidCam trong nền.  Tiếp tục làm việc với màn hình tắt để tiết kiệm pin.  Truy cập camera IP web MJPEG (truy cập camera qua trình duyệt hoặc từ điện thoại, máy tính bảng, v.) 10 CHƯƠNG 2: THIẾT KẾ PHẦN MỀM ĐIỀU KHIỂN 2.Thuật toán xử lý ảnh: - Với ảnh chụp thu thập được từ Camera sẽ cho không gian màu của ảnh là RGB, không gian màu RGB không thích hợp cho việc nhận dạng màu sắc, để phân biệt màu sắc người ta thường dùng không gian màu HSV. Vì vậy ta cần chuyển đổi ảnh gốc ( ảnh có không gian màu RGB) sang ảnh có không gian màu HSV.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ