Đồ án: Hệ thống nhận dạng và phân loại sản phẩm lỗi - ĐH SPKT TPHCM

Khám phá hệ thống nhận dạng và phân loại sản phẩm lỗi bằng AI. Ứng dụng CNN và Raspberry Pi để tự động hóa quy trình kiểm tra chất lượng hiệu quả.

Người đăng

Ẩn danh

Thể loại

Đồ án tốt nghiệp

2024

118
7
0

Phí lưu trữ

35 Point

Tóm tắt

I. Giới thiệu về Hệ thống Nhận dạng và Phân loại Sản phẩm Lỗi bằng AI

Hệ thống nhận dạng và phân loại sản phẩm lỗi bằng AI là một giải pháp công nghệ tiên tiến trong lĩnh vực kiểm soát chất lượng sản xuất. Đây là đồ án tốt nghiệp từ Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh, tập trung vào việc ứng dụng mạng nơ-ron tích chập (CNN) để nhận dạng và phân loại sản phẩm lỗi một cách tự động và chính xác. Hệ thống này kết hợp các công nghệ hiện đại như Raspberry Pi 4, Arduino UNO R3, và camera Rapoo 1080P để tạo ra một giải pháp toàn diện. Mục tiêu chính của dự án là nâng cao hiệu suất kiểm tra chất lượng, giảm nhân công và tăng độ chính xác trong phát hiện lỗi. Ứng dụng này đặc biệt hữu ích cho các nhà máy sản xuất, nơi cần kiểm tra hàng trăm sản phẩm mỗi ngày.

1.1. Khái niệm Nhận dạng Sản phẩm Lỗi

Nhận dạng sản phẩm lỗi là quá trình sử dụng trí tuệ nhân tạo (AI)xử lý hình ảnh để phát hiện các khiếm khuyết trên sản phẩm. Hệ thống này sử dụng mạng CNN - một mô hình học sâu mạnh mẽ để phân tích hình ảnh từ camera. Thay vì kiểm tra thủ công, máy có thể phân loại sản phẩm thành các danh mục như tốt hoặc lỗi trong thời gian thực, với độ chính xác cao.

1.2. Tầm quan trọng của Hệ thống trong Công nghiệp 4.0

Trong bối cảnh Cách mạng công nghiệp 4.0, hệ thống nhận dạng sản phẩm lỗi tự động trở thành yếu tố thiết yếu. Nó giúp các nhà máy tự động hóa quy trình kiểm tra, giảm chi phí nhân công, và cải thiện chất lượng sản phẩm. Công nghệ này tăng năng suất, giảm thời gian xử lý, và đảm bảo tính nhất quán trong kiểm soát chất lượng.

II. Nguyên lý Hoạt động của Mạng CNN trong Phân loại Sản phẩm

Mạng nơ-ron tích chập (CNN) là nền tảng của hệ thống nhận dạng sản phẩm lỗi hiện đại. Mạng này được thiết kế để xử lý dữ liệu hình ảnh một cách hiệu quả, thông qua các lớp tích chập, pooling, và kết nối đầy đủ. Mỗi lớp tích chập trích xuất các đặc trưng hình ảnh khác nhau, từ các cạnh đơn giản đến các hình dạng phức tạp. Quá trình huấn luyện mô hình bao gồm việc sử dụng một bộ dữ liệu lớn để dạy mô hình nhận ra các mẫu lỗi khác nhau. Sau khi huấn luyện, mô hình có thể phân loại sản phẩm mới với độ chính xác cao. Trong dự án này, nhóm sinh viên đã huấn luyện mô hình CNN trên bộ dữ liệu gồm 5 loại trái cây để chứng minh hiệu quả của hệ thống.

2.1. Cấu trúc của Mạng CNN

Mạng CNN bao gồm nhiều lớp xử lý: lớp tích chập (Convolution) trích xuất đặc trưng, lớp pooling giảm kích thước dữ liệu, và lớp kết nối đầy đủ để phân loại. Mỗi lớp sử dụng hàm kích hoạt để tăng khả năng học. Cấu trúc này cho phép mô hình nhận dạng sản phẩm lỗi từ các góc độ và điều kiện ánh sáng khác nhau.

2.2. Quá trình Huấn luyện và Tối ưu hóa Mô hình

Quá trình huấn luyện sử dụng backpropagation để cập nhật trọng số mô hình. Hệ thống sử dụng hàm mất mát (loss function) để đo lường sai số và tối ưu hóa hiệu suất. Bộ dữ liệu được chia thành tập huấn luyện, tập xác thực, và tập kiểm tra để đảm bảo mô hình có khả năng tổng quát hóa tốt.

III. Kiến trúc Hệ thống Phần cứng và Phần mềm

Hệ thống nhận dạng sản phẩm lỗi được xây dựng trên nền tảng kết hợp phần cứngphần mềm hiện đại. Phần cứng bao gồm Raspberry Pi 4 làm bộ xử lý chính, Arduino UNO R3 để điều khiển các thiết bị ngoại vi, camera Rapoo 1080P để chụp hình ảnh sản phẩm, và cảm biến quang E18-D80NK để phát hiện sự có mặt của sản phẩm. Động cơ servo MG946R được sử dụng để điều khiển hệ thống phân loại sản phẩm. Phần mềm được lập trình bằng Python để xử lý hình ảnh và chạy mô hình CNN. Giao diện người dùng được thiết kế để hiển thị kết quả phân loạithống kê sản phẩm. Truyền thông giữa Raspberry Pi và Arduino thực hiện qua giao tiếp nối tiếp (Serial).

3.1. Thành phần Phần cứng Chính

Raspberry Pi 4 là bộ xử lý trung tâm với khả năng chạy mô hình học sâu. Camera Rapoo 1080P cung cấp hình ảnh chất lượng cao cho nhận dạng sản phẩm. Cảm biến quang phát hiện sản phẩm trên dây chuyền. Arduino UNO R3 điều khiển động cơ servo để phân loại và sắp xếp sản phẩm vào các ngăn tương ứng. Cấp nguồn ổn định đảm bảo hoạt động liên tục.

3.2. Giao tiếp và Truyền thông Hệ thống

Truyền thông Serial (UART) kết nối Raspberry PiArduino, cho phép truyền tín hiệu điều khiểndữ liệu phân loại. API REST có thể được tích hợp để theo dõi từ xa. Giao diện web giúp người dùng xem kết quả nhận dạnglịch sử phân loại sản phẩm lỗi.

IV. Ứng dụng và Triển khai Hệ thống trong Thực tế

Hệ thống nhận dạng và phân loại sản phẩm lỗiứng dụng rộng rãi trong các ngành công nghiệp sản xuất. Ngoài kiểm tra trái cây được sử dụng trong dự án này, hệ thống có thể được mở rộng để kiểm tra các sản phẩm khác như linh kiện điện tử, dệt may, và thực phẩm đóng gói. Lợi ích chính bao gồm tăng tốc độ kiểm tra, giảm lỗi nhân công, cải thiện chất lượng, và tiết kiệm chi phí operasional. Hệ thống có thể hoạt động 24/7 mà không mệt mỏi. Các nhà máy hiện đại đang áp dụng công nghệ tương tự để nâng cao năng suất. Tính khả thi kinh tế của hệ thống phụ thuộc vào khối lượng sản phẩm được kiểm tra hàng ngày. Đầu tư ban đầu có thể được hoàn lại trong vòng 6-12 tháng tùy thuộc vào quy mô sản xuất.

4.1. Các Ngành Công nghiệp Tiềm năng

Ngành thực phẩm là ứng dụng chính của hệ thống nhận dạng sản phẩm lỗi. Ngành điện tử sử dụng để kiểm tra linh kiện và mạch điện. Ngành dệt may sử dụng cho kiểm tra vải và may vá. Ngành tự động hóa có thể tích hợp vào dây chuyền sản xuất hiện tại. Chi phí triển khai rất cạnh tranh so với chi phí kiểm tra thủ công.

4.2. Thách thức và Hướng phát triển Tương lai

Thách thức chính bao gồm điều kiện ánh sáng thay đổi, hình dạng sản phẩm đa dạng, và độ chính xác cao được yêu cầu. Hướng phát triển bao gồm sử dụng mạng sâu hơn, tích hợp IoT để giám sát từ xa, và học liên tục từ dữ liệu mới. Công nghệ cạnh (Edge AI) sẽ giúp xử lý nhanh hơn trên thiết bị.

18/12/2025

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

Chương 1: Tổng quan Trình bày đề tài, mục tiêu, hạn chế, phương pháp nghiên cứu, cấu trúc của luận văn. • Chương 2: Cơ sở lý thuyết Trình bày tổng quan về cơ sở lý thuyết được sử dụng trong đề tài. • Chương 3: Thiết kế hệ thống Mô tả yêu cầu thiết kế, đặc tả hệ thống, các bước thiết kế cụ thể. • Chương 4: Thi công hệ thống Thực hiện thi công phần cứng và phần mềm, tinh chỉnh phần mềm.

• Chương 5: Kết quả, nhận xét, đánh giá Tiến hành chạy thử hệ thống và đánh giá chức năng, so sánh với mục tiêu đề ra của đề tài để rút ra ưu nhược điểm của hệ thống. • Chương 6: Kết luận và hướng phát triển Đưa ra kết luận cụ thể về ưu điểm và hạn chế dựa trên các kết quả từ các nghiên cứu. Đề xuất hướng khắc phục hạn chế cũng như hướng phát triển cho hệ thống. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 3 CHƯƠNG 2.

CƠ SỞ LÝ THUYẾT CHƯƠNG 2. GIỚI THIỆU DEEP LEARNING Trí tuệ nhân tạo (AI) là một lĩnh vực khoa học máy tính tập trung vào việc tạo ra các hệ thống có khả năng thực hiện các nhiệm vụ yêu cầu trí tuệ của con người, như nhận thức, học hỏi, lập luận và tự điều chỉnh. Machine Learning (ML) là một nhánh con của AI, nơi mà máy tính có khả năng học từ dữ liệu và cải thiện hiệu suất của mình mà không cần lập trình cụ thể cho từng nhiệm vụ. Trong số các phương pháp ML, Deep Learning (DL) nổi bật như một phần quan trọng, nơi sử dụng các thuật toán và mô hình phức tạp để mô phỏng hoạt động của bộ não con người.

AI, Machine Learning và Deep Learning [3] Deep Learning không chỉ đơn thuần là một phần của Machine Learning, mà còn mở ra những khái niệm và kỹ thuật phức tạp hơn với sự hình thành của mạng nơ-ron nhân tạo sâu (Deep Neural Networks - DNN) để mô phỏng khả năng tư duy và suy nghĩ của con người. Nếu nhìn vào lịch sử, các khái niệm liên quan đến mạng nơ-ron nhân tạo và Deep Learning đã được phát triển từ những năm 1960. Tuy nhiên, lúc đó, những giới hạn về BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 4 CHƯƠNG 2. CƠ SỞ LÝ THUYẾT lượng dữ liệu và khả năng tính toán đã hạn chế sự phát triển của chúng.

Chỉ đến gần đây, với sự phát triển vượt bậc trong việc thu thập và xử lý dữ liệu lớn, chúng ta mới thấy được tiềm năng to lớn của Deep Learning. Một trong những phát triển chính của Deep Learning là mạng nơ-ron sâu, một kiến trúc mạng nơ-ron có nhiều lớp tế bào thần kinh khác nhau. Điều này cho phép mạng nơ- ron thực hiện các tính toán phức tạp một cách hiệu quả, đồng thời học được các đặc trưng phức tạp từ dữ liệu. Với sự kết hợp của các lớp và kết nối phức tạp, DNN có khả năng học và tự điều chỉnh các biểu diễn dữ liệu, từ đó tạo ra các dự đoán chính xác và đáng tin cậy.

Quá trình hoạt động của mạng nơ-ron trong Deep Learning được xây dựng để mô phỏng cách bộ não con người hoạt động. Mỗi mạng nơ-ron bao gồm nhiều lớp, trong mỗi lớp có nhiều nút mạng kết nối với các lớp khác. Trong quá trình huấn luyện mô hình, các trọng số của các kết nối sẽ được điều chỉnh sao cho mạng nơ-ron có khả năng thực hiện các phán đoán chính xác nhất. Mặc dù Deep Learning mang lại nhiều ưu điểm như tính linh hoạt, khả năng giải quyết các vấn đề phức tạp và tự động hóa cao, nhưng cũng đối diện với những thách thức như cần lượng dữ liệu lớn, chi phí tính toán cao và thiếu nền tảng lý thuyết vững chắc.

Mặc dù vậy, Deep Learning vẫn đang được áp dụng rộng rãi trong nhiều lĩnh vực, từ tự lái xe, phân tích cảm xúc, mạng xã hội, trợ lý ảo đến lĩnh vực chăm sóc sức khỏe, góp phần quan trọng vào sự tiến bộ và phát triển của xã hội. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 5 CHƯƠNG 2. MẠNG NƠ-RON TÍCH CHẬP (CNN) Kiến trúc của một mạng nơ-ron tích chập (CNN) bao gồm hai thành phần chính: Trích xuất đặc trưng (Feature Extraction): Đây là công cụ giúp phân tách và nhận dạng các đặc trưng khác nhau của ảnh để phân tích. Quá trình này sử dụng các lớp tích chập (convolutional) kết hợp với lớp Pooling.

Mạng trích xuất đặc trưng thường bao gồm nhiều cặp lớp này xếp chồng lên nhau. Phân lớp (Classification): Lớp Fully Connected sử dụng kết quả đầu ra từ quá trình trích xuất đặc trưng để dự đoán ảnh thuộc lớp nào dựa trên các đặc trưng đã được trích xuất ở các giai đoạn trước. Mục đích của việc trích xuất đặc trưng trong CNN: Giảm số lượng đặc trưng có trong một tập dữ liệu. Quá trình này tạo ra các đặc trưng mới, là tổng hợp của các đặc trưng hiện có trong tập ban đầu.

Số lượng lớp CNN có thể nhiều như trong hình minh họa. Kiến trúc của mô hình CNN [4] 2. Lớp tích chập (Convolutional Layer) Lớp tích chập là một thành phần cốt lõi trong mạng nơ-ron tích chập (CNN), chịu trách nhiệm chính trong việc trích xuất các đặc trưng từ dữ liệu đầu vào. Lớp này hoạt động thông qua các bộ lọc (kernels), là những ma trận nhỏ chứa các số liệu, thường có kích thước nhỏ hơn nhiều so với đầu vào, ví dụ như 3x3 hoặc 5x5.

Bộ lọc trượt qua toàn bộ hình ảnh BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 6 CHƯƠNG 2. CƠ SỞ LÝ THUYẾT đầu vào, và tại mỗi vị trí, nó thực hiện phép nhân tích chập giữa giá trị của bộ lọc và giá trị của các phần tử tương ứng trong vùng nhỏ của hình ảnh. Kết quả của phép nhân này là một tổng số học, đại diện cho giá trị tại một vị trí cụ thể trong bản đồ đặc trưng (feature map). Quá trình tích chập được lặp lại cho mỗi vị trí của bộ lọc trên hình ảnh đầu vào, tạo ra một bản đồ đặc trưng cho mỗi bộ lọc.

Mỗi bộ lọc có thể học được một đặc trưng cụ thể từ dữ liệu, chẳng hạn như cạnh, góc, hoặc họa tiết. Để duy trì kích thước của bản đồ đặc trưng tương ứng với đầu vào, người ta thường sử dụng kỹ thuật padding. Padding là kỹ thuật thêm các giá trị (thường là số 0) xung quanh biên của hình ảnh đầu vào trước khi áp dụng phép tích chập. Mục đích chính của padding là để kiểm soát kích thước của bản đồ đặc trưng đầu ra, bảo toàn thông tin ở các vị trí biên của hình ảnh, và giúp mô hình xử lý tốt hơn các đặc trưng gần biên.

Có hai loại padding phổ biến: Valid Padding (Không có Padding): Không thêm bất kì giá trị nào xung quanh đầu vào. Cách này sẽ làm kích thước của bản đồ đặc trưng nhỏ hơn so với đầu vào. Kích thước đầu ra khi sử dụng Valid Padding: 𝐼𝑛𝑝𝑢𝑡 𝑠𝑖𝑧𝑒−𝐹𝑖𝑙𝑡𝑒𝑟 𝑠𝑖𝑧𝑒 Output size = [ ] +1 (2.1) 𝑆𝑡𝑟𝑖𝑑𝑒 Input size : Kích thước của ảnh đầu vào Filter size : Kích thước của bộ lọc Stride : Số bước bộ lọc di chuyển mỗi lần trượt Output size : Kích thước của ảnh đầu ra Ví dụ nếu đầu vào có kích thước 5x5 và bộ lọc 3x3 với stride =1, kích thước đầu ra sẽ là 3x3. Same Padding (Padding để giữ nguyên kích thước): Thêm các giá trị 0 xung quanh biên của hình ảnh đầu vào sao cho kích thước đầu ra bằng với kích thước đầu vào.

Cách này sẽ làm kích thước của bản đồ đặc trưng đầu ra sẽ bằng với kích thước của đầu vào. Công thức tính padding cần thêm mỗi bên là: 𝐹𝑖𝑙𝑡𝑒𝑟 𝑠𝑖𝑧𝑒−1 Padding = [ ] (2.2) 2 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 7 CHƯƠNG 2. CƠ SỞ LÝ THUYẾT Hình 2. Mô tả hoạt động của Same Padding [4] Ví dụ nếu đầu vào có kích thước 5x5 và bộ lọc 3x3 với stride = 1, để giữ nguyên kích thước đầu ra là 5x5, cần thêm padding 1 (giá trị 0) xung quanh hình ảnh đầu vào.

Một yếu tố quan trọng khác của lớp tích chập là Stride. Stride là số bước bộ lọc di chuyển mỗi lần trượt qua hình ảnh đầu vào. Stride kiểm soát độ phân giải của bản đồ đặc trưng đầu ra và tốc độ tính toán của phép tích chập. Trường hợp Stride nhỏ (Stride = 1) bộ lọc sẽ di chuyển một ô mỗi lần trượt qua hình ảnh.

Điều này sẽ giữ lại được nhiều chi tiết và đặc trưng của hình ảnh. Stride nhỏ giúp bản đồ đặc trưng giữ lại nhiều thông tin hơn, dẫn đến khả năng phát hiện các đặc trưng chi tiết và phức tạp trong hình ảnh tuy nhiên nó sẽ có kích thước đầu ra lớn hơn, đòi hỏi nhiều hơn về bộ nhớ và tài nguyên tính toán. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 8 CHƯƠNG 2. CƠ SỞ LÝ THUYẾT Trường hợp Stride lớn (Stride > 1) bộ lọc sẽ di chuyển nhiều ô mỗi lần trượt qua hình ảnh.

Điều này sẽ giảm độ phân giải của bản đồ đặc trưng, giảm số lượng tính toán, nhưng có thể mất một số chi tiết của hình ảnh. Stride lớn giúp giảm kích thước đầu ra, giảm số lượng tham số và tăng hiệu suất tính toán, phù hợp cho các giai đoạn khi mô hình cần tóm tắt thông tin từ hình ảnh đầu vào nhưng có thể mất một số chi tiết quan trọng trong hình ảnh, dẫn đến giảm độ chính xác nếu các đặc trưng nhỏ bị bỏ qua. Đầu ra của Stride = 1 và Stride = 2 [4] Lớp tích chập mang lại nhiều lợi ích quan trọng. Nó tập trung vào các vùng nhỏ của hình ảnh đầu vào, giúp phát hiện các đặc trưng cục bộ.

Nhờ vào tính chất trượt của bộ lọc, các đặc trưng có thể được nhận diện bất kể chúng xuất hiện ở đâu trong hình ảnh, giúp mô hình tổng quát hóa tốt hơn trên các dữ liệu mới. Lớp tích chập cũng giảm đáng kể số lượng tham số cần huấn luyện so với các lớp kết nối đầy đủ, do bộ lọc được chia sẻ trên toàn bộ hình ảnh. Lớp Pooling Trong hầu hết các trường hợp, một lớp tích chập sẽ được tiếp nối bởi một lớp Pooling. Mục đích chính của lớp này là giảm kích thước của bản đồ đặc trưng đã được tích chập, giúp giảm chi phí tính toán.

Nó hoạt động độc lập trên từng bản đồ đặc trưng và giảm số lượng kết nối giữa các lớp. Có nhiều loại pooling khác nhau tùy thuộc vào phương thức được sử dụng. Về cơ bản, Pooling tóm lược các đặc trưng được tạo bởi lớp tích chập. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 9 CHƯƠNG 2.

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