Đề Tài Tốt Nghiệp: Xử Lý Hình Ảnh và Phát Hiện Lỗi Sản Phẩm
Trường đại học
Trường Đại Học Công Nghệ Thông TinChuyên ngành
Xử Lý Hình ẢnhNgười đăng
Ẩn danhThể loại
Đề Tài Tốt Nghiệp2023
Phí lưu trữ
35 PointMục lục chi tiết
Tóm tắt
I. Tổng quan đề tài xử lý ảnh phát hiện lỗi sản phẩm công nghiệp
Trong bối cảnh công nghiệp 4.0, việc tự động hóa sản xuất đóng vai trò then chốt để nâng cao năng suất và khả năng cạnh tranh. Một trong những khâu quan trọng nhất là kiểm tra chất lượng sản phẩm (quality control - QC). Các phương pháp kiểm tra thủ công truyền thống ngày càng bộc lộ nhiều hạn chế như phụ thuộc vào yếu tố con người, tốn thời gian, và thiếu tính chính xác, đặc biệt với các lỗi nhỏ hoặc trên các dây chuyền công nghiệp tốc độ cao. Đề tài tốt nghiệp về xử lý hình ảnh và phát hiện lỗi sản phẩm ra đời như một giải pháp công nghệ cao, giải quyết triệt để những thách thức này. Bằng cách ứng dụng thị giác máy tính (computer vision), hệ thống có thể tự động nhận diện các sai sót trên sản phẩm một cách nhanh chóng và chính xác. Đề tài này không chỉ là một bài toán kỹ thuật mà còn mang ý nghĩa thực tiễn to lớn, giúp doanh nghiệp tiết kiệm chi phí, giảm thiểu sản phẩm hỏng và nâng cao uy tín thương hiệu. Nghiên cứu tập trung vào việc xây dựng một mô hình hoàn chỉnh, từ thu thập hình ảnh, xử lý, áp dụng các thuật toán học máy (machine learning), đến việc tích hợp với các hệ thống điều khiển công nghiệp như PLC để tự động phân loại sản phẩm. Đây là một lĩnh vực nghiên cứu đầy tiềm năng, mở ra nhiều hướng phát triển cho tự động hóa trong tương lai.
1.1. Tầm quan trọng của kiểm tra chất lượng sản phẩm QC tự động
Kiểm tra chất lượng sản phẩm (QC) là một công đoạn không thể thiếu trong mọi quy trình sản xuất. Nó đảm bảo rằng sản phẩm cuối cùng đến tay người tiêu dùng đạt tiêu chuẩn về hình thức, chức năng và an toàn. Tuy nhiên, việc kiểm tra thủ công bởi con người dễ dẫn đến sai sót do mệt mỏi, thiếu tập trung và tính chủ quan. Hệ thống QC tự động sử dụng thị giác máy tính khắc phục hoàn toàn các nhược điểm này. Camera công nghiệp có thể hoạt động liên tục 24/7 với độ chính xác và ổn định cao. Các thuật toán phân loại ảnh có khả năng phát hiện những sai khác cực nhỏ mà mắt người khó có thể nhận ra, từ đó nâng cao chất lượng tổng thể của toàn bộ lô hàng. Điều này không chỉ giúp giảm tỷ lệ hàng lỗi mà còn tối ưu hóa việc sử dụng nguyên vật liệu, góp phần vào sản xuất bền vững.
1.2. Hạn chế của phương pháp kiểm tra thủ công truyền thống
Phương pháp kiểm tra thủ công tồn tại nhiều hạn chế cố hữu. Thứ nhất, hiệu suất thấp và không thể đáp ứng được tốc độ của các dây chuyền công nghiệp hiện đại. Thứ hai, chi phí nhân công cho việc kiểm tra liên tục là rất lớn. Thứ ba, kết quả kiểm tra phụ thuộc nhiều vào kinh nghiệm và trạng thái tâm lý của nhân viên, dẫn đến sự thiếu nhất quán. Đặc biệt, trong các môi trường sản xuất độc hại hoặc yêu cầu điều kiện vệ sinh nghiêm ngặt, việc sử dụng con người là không khả thi. Những hạn chế này thúc đẩy sự cần thiết của một giải pháp tự động hóa, nơi máy móc có thể thực hiện công việc một cách khách quan và hiệu quả hơn.
1.3. Xu hướng ứng dụng thị giác máy tính trong công nghiệp
Thị giác máy tính đang trở thành một công nghệ mũi nhọn, được ứng dụng rộng rãi từ sản xuất điện tử, dệt may, thực phẩm đến dược phẩm. Các hệ thống này không chỉ dừng lại ở việc phát hiện đối tượng (object detection) lỗi, mà còn có thể đọc mã vạch, kiểm tra niêm phong, đo lường kích thước, và hướng dẫn robot lắp ráp. Sự phát triển của học sâu (deep learning) và các mạng nơ-ron tích chập (CNN) đã tạo ra một cuộc cách mạng, cho phép các mô hình học hỏi và nhận diện các loại lỗi phức tạp từ một bộ dữ liệu (dataset) lớn. Việc tích hợp các thư viện mạnh mẽ như OpenCV Python vào quy trình phát triển giúp rút ngắn thời gian và chi phí triển khai, đưa công nghệ tiên tiến này đến gần hơn với các doanh nghiệp.
II. Thách thức cốt lõi khi xây dựng hệ thống phát hiện lỗi sản phẩm
Việc triển khai một hệ thống phát hiện lỗi sản phẩm tự động không phải là một nhiệm vụ đơn giản. Nó đòi hỏi sự kết hợp nhuần nhuyễn giữa phần cứng và phần mềm, cũng như giải quyết nhiều thách thức kỹ thuật phức tạp. Thách thức đầu tiên và cơ bản nhất là xây dựng một bộ dữ liệu (dataset) chất lượng cao. Bộ dữ liệu này phải đủ lớn và đa dạng, bao gồm hình ảnh của cả sản phẩm tốt và các loại sản phẩm lỗi dưới nhiều điều kiện ánh sáng, góc chụp khác nhau. Một thách thức lớn khác là tốc độ xử lý. Trên một dây chuyền công nghiệp, hệ thống phải đưa ra quyết định phân loại trong một khoảng thời gian cực ngắn, thường chỉ vài mili giây. Điều này yêu cầu tối ưu hóa cả thuật toán và phần cứng tính toán, chẳng hạn như sử dụng GPU. Cuối cùng, việc tích hợp liền mạch giữa hệ thống xử lý ảnh (thường chạy trên PC với Python) và hệ thống điều khiển cơ khí (như PLC) là một bài toán không hề tầm thường. Nó đòi hỏi kiến thức sâu về các giao thức truyền thông công nghiệp như Modbus TCP/IP và khả năng lập trình đồng bộ giữa các thiết bị khác nhau để đảm bảo hệ thống hoạt động ổn định, chính xác và không có độ trễ.
2.1. Vấn đề thu thập và gán nhãn bộ dữ liệu dataset ảnh
Chất lượng của mô hình học máy phụ thuộc trực tiếp vào chất lượng của bộ dữ liệu huấn luyện. Quá trình thu thập dữ liệu đòi hỏi phải chụp hàng ngàn bức ảnh sản phẩm trong điều kiện sản xuất thực tế. Các yếu tố như ánh sáng không đồng đều, bóng đổ, phản xạ bề mặt có thể làm giảm chất lượng ảnh. Sau khi thu thập, giai đoạn gán nhãn (labeling) tốn rất nhiều thời gian và công sức. Mỗi hình ảnh phải được phân loại chính xác, và các vùng lỗi phải được khoanh vùng cẩn thận. Bất kỳ sai sót nào trong quá trình này cũng sẽ khiến mô hình học sai, dẫn đến kết quả nhận dạng không chính xác khi triển khai.
2.2. Yêu cầu xử lý thời gian thực trên dây chuyền sản xuất
Trên một dây chuyền công nghiệp, sản phẩm di chuyển liên tục với tốc độ cao. Hệ thống thị giác máy tính phải hoàn thành chu trình: chụp ảnh, tiền xử lý ảnh, đưa vào mô hình AI để dự đoán, và gửi lệnh đến PLC để thực thi (ví dụ: gạt sản phẩm lỗi) trước khi sản phẩm tiếp theo đi tới. Điều này tạo ra áp lực rất lớn về hiệu năng tính toán. Việc lựa chọn một kiến trúc mô hình AI gọn nhẹ như MobileNetV2, được đề cập trong tài liệu nghiên cứu, là một giải pháp hiệu quả. Các thuật toán như thuật toán YOLO cũng được tối ưu cho tốc độ, phù hợp với các ứng dụng yêu cầu phản hồi tức thì.
2.3. Tích hợp giữa phần mềm xử lý ảnh và phần cứng PLC
Việc kết nối giữa thế giới phần mềm (máy tính chạy code đồ án xử lý ảnh bằng Python) và thế giới phần cứng (bộ điều khiển PLC S7-1200) là một thách thức lớn. Hai hệ thống này hoạt động trên các nền tảng và ngôn ngữ khác nhau. Để chúng có thể giao tiếp, cần phải thiết lập một kênh truyền thông tin cậy, ví dụ như giao thức Modbus TCP/IP qua mạng Ethernet. Lập trình viên phải xử lý các vấn đề về đồng bộ hóa, đảm bảo rằng tín hiệu điều khiển từ Python được PLC nhận và thực thi một cách chính xác và kịp thời. Bất kỳ sự cố nào trong giao tiếp cũng có thể khiến toàn bộ hệ thống phân loại sai hoặc ngừng hoạt động.
III. Phương pháp Deep Learning để phân loại lỗi sản phẩm chính xác
Để vượt qua giới hạn của các phương pháp xử lý ảnh truyền thống, học sâu (deep learning) đã trở thành công nghệ cốt lõi trong các hệ thống phát hiện lỗi hiện đại. Thay vì phải thiết kế các bộ trích xuất đặc trưng thủ công, các mạng nơ-ron tích chập (Convolutional Neural Network - CNN) có khả năng tự động học các đặc trưng quan trọng từ dữ liệu ảnh. Kiến trúc của một CNN bao gồm nhiều lớp tích chập, lớp gộp (pooling) và lớp kết nối đầy đủ, cho phép nó nhận diện các mẫu từ đơn giản (cạnh, góc) đến phức tạp (hình dạng lỗi cụ thể). Trong đề tài nghiên cứu được phân tích, mô hình MobileNetV2 đã được lựa chọn. Đây là một kiến trúc CNN hiệu quả, được tối ưu hóa để chạy trên các thiết bị có tài nguyên hạn chế mà vẫn giữ được độ chính xác cao. Quá trình xây dựng mô hình bao gồm các bước: chuẩn bị bộ dữ liệu, huấn luyện mô hình bằng các framework phổ biến như TensorFlow hoặc PyTorch, và cuối cùng là đánh giá hiệu suất. Việc sử dụng các kỹ thuật như học chuyển giao (transfer learning) giúp tăng tốc quá trình huấn luyện và cải thiện độ chính xác, đặc biệt khi bộ dữ liệu ban đầu không quá lớn.
3.1. Vai trò của mạng nơ ron tích chập CNN trong xử lý ảnh
Mạng nơ-ron tích chập (CNN) là một lớp đặc biệt của mạng nơ-ron, được thiết kế chuyên biệt để xử lý dữ liệu dạng lưới như hình ảnh. Điểm mạnh của CNN nằm ở khả năng nhận dạng các đặc trưng không gian (spatial features) trong ảnh. Các lớp tích chập hoạt động như những bộ lọc đặc trưng, tự động phát hiện các yếu tố như cạnh, kết cấu và hình dạng. Chính khả năng tự học này giúp CNN vượt trội hơn hẳn các phương pháp truyền thống trong bài toán phân loại ảnh và phát hiện đối tượng, đặc biệt là với các loại lỗi sản phẩm có hình dạng và kích thước đa dạng.
3.2. Phân tích kiến trúc MobileNetV2 Hiệu quả và gọn nhẹ
Như tài liệu gốc đã trình bày, MobileNetV2 là một lựa chọn tối ưu cho đề tài này. Kiến trúc này sử dụng một kỹ thuật gọi là "Depthwise Separable Convolution", giúp giảm đáng kể số lượng tham số và khối lượng tính toán so với các CNN tiêu chuẩn. Điều này làm cho MobileNetV2 trở nên lý tưởng cho các ứng dụng thời gian thực hoặc triển khai trên các thiết bị nhúng có cấu hình không quá mạnh. Mặc dù gọn nhẹ, mô hình này vẫn đạt được độ chính xác cạnh tranh trên nhiều bài toán computer vision, chứng tỏ đây là một giải pháp cân bằng hoàn hảo giữa hiệu năng và hiệu quả.
3.3. Quy trình huấn luyện và đánh giá mô hình với TensorFlow
Quy trình huấn luyện một mô hình CNN bắt đầu bằng việc chia bộ dữ liệu thành các tập huấn luyện (train), kiểm định (validation) và kiểm tra (test). Framework TensorFlow cung cấp các công cụ mạnh mẽ để xây dựng, biên dịch và huấn luyện mô hình. Trong quá trình huấn luyện, mô hình sẽ học cách tối ưu hóa các trọng số của nó để giảm thiểu hàm mất mát (loss function). Sau khi huấn luyện, hiệu suất của mô hình được đánh giá trên tập kiểm tra bằng các chỉ số như độ chính xác (accuracy), precision, recall. Kết quả này cho biết mô hình hoạt động tốt đến đâu trên dữ liệu chưa từng thấy, từ đó quyết định xem mô hình có sẵn sàng để triển khai thực tế hay không.
IV. Hướng dẫn xây dựng hệ thống xử lý ảnh và điều khiển bằng PLC
Việc xây dựng một hệ thống hoàn chỉnh yêu cầu sự kết hợp của nhiều thành phần. Về phần cứng, hệ thống bao gồm một băng tải để di chuyển sản phẩm, một camera (ví dụ: Webcam Logitech C270) để thu nhận hình ảnh, một máy tính để chạy mô hình AI, và một bộ điều khiển PLC S7-1200 kết nối với cơ cấu chấp hành (ví dụ: xi lanh khí nén hoặc động cơ servo để gạt sản phẩm lỗi). Về phần mềm, máy tính sẽ cài đặt môi trường Python với các thư viện cần thiết. OpenCV Python được sử dụng cho các tác vụ tiền xử lý ảnh như thay đổi kích thước, chuyển đổi không gian màu, và lọc nhiễu. Mô hình deep learning đã được huấn luyện (ví dụ: file .h5 từ TensorFlow) sẽ được tải lên để thực hiện dự đoán. Giao diện người dùng (GUI) có thể được xây dựng bằng các thư viện như Tkinter hoặc PyQt để giám sát và điều khiển hệ thống. Phần quan trọng nhất là lập trình giao tiếp giữa máy tính và PLC. Thông qua giao thức Modbus TCP, chương trình Python sẽ gửi các lệnh (ví dụ: '1' cho sản phẩm tốt, '2' cho sản phẩm lỗi) đến một vùng nhớ của PLC. Chương trình trên PLC (lập trình bằng TIA Portal) sẽ đọc giá trị từ vùng nhớ này và kích hoạt các đầu ra tương ứng để điều khiển cơ cấu chấp hành, hoàn thành chu trình tự động hóa sản xuất.
4.1. Lựa chọn phần cứng Camera máy tính và PLC S7 1200
Lựa chọn phần cứng phù hợp là bước đầu tiên và quan trọng. Camera cần có đủ độ phân giải để ảnh chụp rõ nét các chi tiết lỗi. Máy tính cần có cấu hình đủ mạnh, tốt nhất là có GPU, để xử lý ảnh và chạy mô hình deep learning nhanh chóng. Bộ điều khiển PLC S7-1200 của Siemens là một lựa chọn phổ biến trong công nghiệp nhờ độ tin cậy cao, hỗ trợ nhiều chuẩn truyền thông (bao gồm Ethernet cho Modbus TCP), và dễ dàng lập trình. Các cơ cấu chấp hành như động cơ, xi lanh cần có tốc độ phản hồi nhanh để loại bỏ sản phẩm lỗi một cách chính xác.
4.2. Lập trình xử lý ảnh thời gian thực với OpenCV và Python
OpenCV là thư viện thị giác máy tính mã nguồn mở mạnh mẽ và phổ biến nhất. Trong Python, OpenCV cho phép thực hiện nhiều tác vụ từ cơ bản đến nâng cao. Đối với đề tài này, các hàm của OpenCV được dùng để đọc luồng video từ camera, thực hiện các bước tiền xử lý ảnh để chuẩn hóa đầu vào cho mô hình CNN. Ví dụ, ảnh có thể được cắt (crop) để chỉ lấy vùng chứa sản phẩm, sau đó thay đổi kích thước về chuẩn đầu vào của mô hình (ví dụ: 224x224 pixels cho MobileNetV2). Việc tối ưu hóa các bước này rất quan trọng để đảm bảo toàn bộ quy trình xử lý diễn ra trong thời gian thực.
4.3. Giao tiếp giữa Python và PLC qua giao thức Modbus TCP IP
Để điều khiển dây chuyền, chương trình Python cần gửi kết quả phân loại đến PLC. Modbus TCP/IP là một giao thức truyền thông công nghiệp phổ biến hoạt động trên nền tảng Ethernet. Trong Python, có thể sử dụng các thư viện như pyModbusTCP để tạo một client Modbus. Client này sẽ kết nối đến địa chỉ IP của PLC và thực hiện các thao tác đọc/ghi vào các thanh ghi (registers) của PLC. Ví dụ, chương trình Python có thể ghi giá trị 100 vào thanh ghi 40001 khi phát hiện sản phẩm lỗi. Chương trình trên PLC sẽ liên tục giám sát thanh ghi này, và khi thấy giá trị 100, nó sẽ kích hoạt đầu ra Q0.0 để điều khiển cánh tay gạt sản phẩm.
V. Phân tích kết quả đề tài phát hiện lỗi sản phẩm trên bao bì
Kết quả thực nghiệm từ báo cáo khóa luận tốt nghiệp đã chứng minh tính hiệu quả và khả thi của hệ thống. Mô hình được xây dựng để phát hiện ba loại lỗi cụ thể trên bao bì sản phẩm: lem mực, in sai và rách. Quá trình thực nghiệm được chia thành hai giai đoạn: trước và sau khi huấn luyện mô hình deep learning. Dữ liệu thống kê cho thấy một sự cải thiện vượt bậc về độ chính xác sau khi mô hình được huấn luyện đầy đủ. Cụ thể, khả năng nhận dạng sản phẩm tốt đạt độ chính xác tuyệt đối, trong khi khả năng phát hiện các loại lỗi khác nhau cũng tăng lên đáng kể, từ mức rất thấp lên đến khoảng 84-92%. Điều này khẳng định vai trò không thể thay thế của các thuật toán học máy trong việc nâng cao trí thông minh cho hệ thống. Kết quả cũng cho thấy hệ thống phần cứng, bao gồm băng tải và cơ cấu gạt sản phẩm điều khiển bởi PLC, hoạt động ổn định và đồng bộ với phần mềm xử lý ảnh. Hệ thống có khả năng phân loại sản phẩm theo đúng kết quả dự đoán từ mô hình AI, chứng tỏ việc tích hợp giữa các thành phần đã thành công. Đây là một minh chứng rõ ràng cho tiềm năng ứng dụng của đề tài vào thực tế sản xuất.
5.1. Mô tả mô hình thực nghiệm và các loại lỗi mục tiêu
Mô hình thực nghiệm bao gồm một băng tải mini, một webcam Logitech C270 đặt phía trên để chụp ảnh sản phẩm, một máy tính để xử lý, và một tủ điện chứa PLC S7-1200 và các driver điều khiển động cơ. Hệ thống được thiết kế để nhận diện và phân loại ba loại lỗi phổ biến trên bao bì: sản phẩm bị lem mực, sản phẩm bị in sai thông tin hoặc hình ảnh, và sản phẩm bị rách hoặc biến dạng. Các mẫu sản phẩm này được thu thập và sử dụng để xây dựng bộ dữ liệu cho việc huấn luyện và kiểm thử mô hình CNN.
5.2. Đánh giá độ chính xác trước và sau khi huấn luyện mô hình
Theo Bảng 5.1 và 5.2 trong tài liệu gốc, hiệu suất của hệ thống đã có sự thay đổi ngoạn mục. Trước khi huấn luyện, hệ thống gần như chỉ đoán ngẫu nhiên, với độ chính xác phát hiện lỗi chỉ từ 16% đến 20%. Tuy nhiên, sau khi mô hình được huấn luyện với bộ dữ liệu phù hợp, kết quả đã cải thiện rõ rệt. Cụ thể, theo Bảng 5.2: Sản phẩm tốt được nhận dạng đúng 100%; Sản phẩm lỗi lem mực đạt 84% chính xác; Sản phẩm lỗi in sai đạt 92% chính xác; và sản phẩm bị rách đạt 90% chính xác. Những con số này chứng tỏ mô hình học sâu đã học được các đặc trưng nhận dạng lỗi một cách hiệu quả.
5.3. Nhận xét về sự ổn định và tốc độ phản hồi của hệ thống
Hệ thống đã chứng tỏ khả năng hoạt động ổn định trong các lần chạy thử nghiệm. Tốc độ phản hồi từ lúc camera chụp ảnh đến khi cơ cấu chấp hành của PLC hoạt động là tương đối nhanh, đáp ứng được yêu cầu của một mô hình mô phỏng dây chuyền công nghiệp. Giao diện điều khiển và giám sát trên Python cung cấp trải nghiệm trực quan, cho phép người vận hành dễ dàng khởi động, dừng hệ thống và theo dõi số lượng sản phẩm tốt/lỗi. Sự đồng bộ giữa phần mềm và phần cứng là một thành công lớn của đề tài, đặt nền móng vững chắc cho các cải tiến và phát triển trong tương lai.
TÀI LIỆU LIÊN QUAN
Bạn đang xem trước tài liệu:
Đồ án tốt nghiệp ngành công nghệ kỹ thuật máy tính