Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 64 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
64
Dung lượng
2,83 MB
Nội dung
ĐẠI HỌC BÁCH KHOA HÀ NỘI LUẬN VĂN THẠC SĨ Nghiên cứu giải pháp phát lỗi bề mặt cấp nắp cao su chai vaccine q trình đóng nắp LÊ XUÂN TRUNG trung.lx202742m@sis.hust.edu.vn Ngành Kỹ thuật Cơ điện tử Giảng viên hướng dẫn: PGS TS Lê Giang Nam Chữ ký GVHD Trường: Nhóm chun mơn: Cơ khí Cơ điện tử HÀ NỘI, 1/2023 CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc BẢN XÁC NHẬN CHỈNH SỬA LUẬN VĂN THẠC SĨ Họ tên tác giả luận văn: Lê Xuân Trung Đề tài luận văn: Nghiên cứu giải pháp phát lỗi bề mặt cấp nắp cao su chai vaccine q trình đóng nắp Chun ngành: Kỹ thuật Cơ điện tử Mã số SV: 20202742M Tác giả, Người hướng dẫn khoa học Hội đồng chấm luận văn xác nhận tác giả sửa chữa, bổ sung luận văn theo biên họp Hội đồng ngày… .………… với nội dung sau: - Tăng kích thước chất lượng hình ảnh: hình 2.14, hình 2.15, hình 2.16 - Bổ sung phần mơ tả cho hình ảnh: bổ sung nội dung mơ tả cho hình 1.2, hình 2.6, hình 2.9, hình 2.28, hình 2.29, hình 3.5, hình 3.6 - Hiệu chỉnh công thức: Hiệu chỉnh công thức 2.11, 2.28, 3.2 - Chỉnh sửa lỗi soạn thảo văn văn phong: Lỗi Đã sửa thành Trang “nhắn tới” “nhắc tới” “đường đô thị” “bề mặt đường khu đô thị” “được đăng” “được tăng” 28 “tang tộ” “tăng tốc” 42 Ngày Giáo viên hướng dẫn tháng năm 2023 Tác giả luận văn Lê Giang Nam Lê Xuân Trung CHỦ TỊCH HỘI ĐỒNG Lời cảm ơn Để hồn thành Luận văn Thạc sĩ này, tơi xin bày tỏ lòng biết ơn đến PGS TS Lê Giang Nam Trường Cơ Khí – Đại học Bách Khoa Hà Nội tận tình hướng dẫn, định hướng đào tạo giúp đỡ tơi suốt q trình nghiên cứu hồn thành luận văn Tơi xin cảm ơn tập thể bạn PTN Vimes nhiệt tình hỗ trợ tơi hồn thành luận văn Xin chân thành cảm ơn quý Thầy Cô giáo khoa Cơ điện tử, trường Cơ khí, ĐHBKHN giảng dạy, tạo điều kiện giúp đỡ thời gian nghiên cứu làm luận văn Cuối cùng, xin bày tỏ kính trọng, biết ơn lịng u thương tới gia đình, bạn bè động viên, giúp đỡ suốt thời gian học tập Khoa Cơ điện tử - Trường Cơ khí - Đại học Bách Khoa Hà Nội Lời cam đoan Tôi xin cam đoan cơng trình nghiên cứu riêng tơi Cơng trình thực Trường Cơ khí, Đại học Bách Khoa Hà Nội hướng dẫn PGS.TS Lê Giang Nam Các số liệu kết nghiên cứu luận văn trung thực chưa cơng bố cơng trình khác Hà Nội, ngày NGƯỜI HƯỚNG DẪN PGS.TS Lê Giang Nam tháng năm 2023 Người cam đoan Lê Xuân Trung Tóm tắt nội dung luận văn Luận văn trình bày nghiên cứu giải pháp phát khuyết tật bề mặt nắp cao su chai vaccine loại bỏ nắp cao su khuyết tật hệ thống cấp nắp cao su linh hoạt Trong ngành y tế, trình sản xuất dược phẩm đặt phịng tiêu chuẩn Do máy móc làm việc hoàn toàn tự động hạn chế tiếp xúc từ mơi trường ngồi Hệ thống tổng thể bao gồm hệ thống cấp phôi linh hoạt sử dụng máy rung cấp phôi cho điểm mạnh cấp nắp cao su rời định hướng sau băng tải vận chuyển đến hệ thống thu nhận xử lý ảnh bao gồm camera hệ thống chiếu sáng phát khuyết tật bề mặt nắp cao su loại bỏ nắp cao su khuyết tật tia khí nén thơng qua van khí nén vi điều khiển Những nắp cao su có khuyết tật bề mặt mang tiềm ẩn ảnh hưởng đến chất lượng dược phẩm bên từ làm ảnh hưởng đến sức khỏe người động vật sử dụng Do đó, phương pháp phát khuyết tật nắp cao su sử dụng để huấn luyện cho mơ hình phát khuyết tật dựa đa số liệu hình ảnh định nghĩa bình thường thiếu liệu nắp cao su khuyết tật gán nhãn Phương pháp có tên tính học sinh-giáo viên đối sánh kim tự tháp (STMP) để phát bất thường không giám sát với liệu thiểu số nắp cao su khuyết tật gán nhãn nắp cao su bình thường chiếm đa số Phương pháp thực đạt hiệu suất phát cấp độ hình ảnh 86.1% cấp độ pixel 98.6% Mơ hình đạt tốc độ 100 khung hình giây đáp ứng hiệu suất xử lý tốc độ cao Mơ hình huấn luyện máy tính CPU i7 RAM 16GB với thư viện mã nguồn mở Pytorch, OpenCV Vi điều khiển trung tâm họ stm32 sử dụng cho khả điều khiển cấu chấp hành vịi thổi khí nén để loại bỏ nắp cao su khuyết tật bề mặt Tích hợp hệ thống thị giác máy với hệ thống cấp loại bỏ nắp cao su khuyết tật Thời gian chụp hình cho xử lý ảnh 0.5 giây, khoảng thời gian loại bỏ phơi 0.1 giây Điều có ý nghĩa hệ thống sản xuất hàng loạt mang lại lợi ích cao công nghiệp Đề tài mở rộng thêm liệu nắp cao su nâng cấp thêm phần cứng card đồ họa số thuật tốn khác để q trình xử lý hệ thống tốt HỌC VIÊN Ký ghi rõ họ tên Lê Xuân Trung MỤC LỤC Lời cảm ơn Lời cam đoan Tóm tắt nội dung luận văn MỤC LỤC DANH MỤC HÌNH ẢNH DANH MỤC BẢNG 10 DANH MỤC TỪ VIẾT TẮT 11 TỔNG QUAN VỀ HỆ THỐNG CẤP NẮP CHAI VACCINE TỰ ĐỘNG Hệ thống cấp nắp chai vaccine tự động Hệ thống cấp nắp chai cao su Hệ thống thị giác máy phát khuyết tật bề mặt nắp cao su Hệ thống loại bỏ nắp cao su lỗi Tổng kết 10 GIẢI PHÁP PHÁT HIỆN VÀ LOẠI BỎ NẮP CHAI VAXCIN KHUYẾT TẬT 11 Nguyên lý hoạt động 11 Hệ thống cấp phôi 12 Máy rung cấp phôi 12 Băng tải vận chuyển phôi 15 Hệ thống phát hiện, phân loại phôi khuyết tật bề mặt 18 Định nghĩa khuyết tật bề mặt nắp cao su 19 Thiết bị thu thập hình ảnh 21 Phương pháp phát khuyết tật nắp cao su 26 Loại bỏ phơi sử dụng khí nén 31 Tổng kết 37 KIỂM TRA, XÁC NHẬN VÀ ĐÁNH GIÁ GIẢI PHÁP BẰNG HỆ THỐNG THỰC NGHIỆM 38 Môi trường thử nghiệm mơ hình 38 Đánh giá thảo luận 39 Đánh giá 39 Thảo luận 42 Tổng kết 43 KẾT LUẬN VÀ ĐỀ XUẤT 44 DANH MỤC CƠNG TRÌNH ĐÃ CƠNG BỐ 45 TÀI LIỆU THAM KHẢO 46 PHỤ LỤC 49 DANH MỤC HÌNH ẢNH Hình 1.1 Cơ cấu cấp phơi rung động Hình 1.2 Đĩa quay ly tâm cấp nắp chai cao su Hình 1.3 Băng tải Hình 1.4 Các bước xử lý ảnh Hình 1.5 Hệ thống loại bỏ phơi dung khí nén [5] Hình 1.6 Hệ thống thị giác máy [22] 10 Hình Sơ đồ khối toàn hệ thống 11 Hình 2 Hình dạng kích thước nắp cao su chai vaccine 12 Hình Máy rung cấp phơi 13 Hình Hệ thống cấp phơi [18] 13 Hình Cơ cấu cấp phôi rung động thẳng 13 Hình Trạng thái phôi trước định hướng trạng thái phôi yêu cầu [20] 14 Hình Các lực tác dụng lên băng tải 16 Hình Băng tải 18 Hình Sơ đồ cấu tạo hệ thống ……………………………………………… 19 Hình 10 Hình ảnh nắp cao su bình thường 20 Hình 11 Các khuyết tật bề mặt nắp cao su (top view): a) Vết xước bề mặt; b) Lỗ thủng bề mặt; c, d) Khuyết tật bề mặt 20 Hình 12 Camera hãng HIKVision 21 Hình 13 Ống kính quang học Basler 22 Hình 14 Phương pháp chiếu sáng trường tối 23 Hình 15 Phương pháp chiếu sáng tán xạ 23 Hình 16 Phương pháp chiếu sáng từ phía sau 23 Hình 17 Ring LED 24 Hình 18 GPU 24 Hình 19 Kit FPGA xử lý ảnh số 25 Hình 20 Chíp intel CPU i7 25 Hình 21 Quá trình xử lý hình ảnh 26 Hình 22 Nắp cao su sau cắt thay đổi kích thước cịn 512x512 pixles 27 Hình 23 Nắp cao su loại bỏ phần lại 27 Hình 24 Chú thích nhãn khuyết tật bề mặt nắp cao su 28 Hình 25 Lớp mặt nạ nhãn thích 28 Hình 26 Sơ đồ tổng quan STMP 29 Hình 27 Giao diện điều khiển 31 Hình 28 Sơ đồ điều khiển van khí nén 32 Hình 29 Sơ đồ điều khiển cấu chấp hành 33 Hình 30 Cấu hình chân MCU 33 Hình 31 Bộ đệm vòng 34 Hình Mơ hình thực nghiệm 38 Hình Mơ hình thực nghiệm ……………………………………………… 39 Hình 3 Ví dụ nắp cao su bình thường 39 Hình Các kết đạt hệ thống phát khuyết tật nắp cao su 40 Hình Dự đốn đốm kim loại khơng gán nhãn huấn luyện 40 Hình Kết dự đốn ảnh lỗi ảnh bình thường ……………………… 41 DANH MỤC BẢNG Bảng 2.1 Thông số kỹ thuật phần cứng 26 Bảng 2.2 Thông số kỹ thuật cấu chấp hành 37 Bảng 3.1 Bảng thống kê phần trăm nhận diện thời gian xử lý …………… 42 KIỂM TRA, XÁC NHẬN VÀ ĐÁNH GIÁ GIẢI PHÁP BẰNG HỆ THỐNG THỰC NGHIỆM Môi trường thử nghiệm mơ hình Hệ thống thử nghiệm phần hệ thống đóng nắp chai bao gồm hệ thống xử lý ảnh quang học phát khuyết tật bề mặt nắp cao su chai vaccine hệ thống loại bỏ nắp cao su lỗi vịi thổi khí nén băng tải Mơ hình xử lý ảnh thử nghiệm với tập liệu ảnh thu thập cho nắp cao su 1500 ảnh có 300 ảnh định nghĩa có dị thường bề mặt nắp cao su Tập liệu huấn luyện chia làm 80% tổng số liệu thu thập ảnh bình thường nắp cao su Thiết bị sử dụng cho mơ hình huấn luyện gồm: máy tính CPU intel i7 RAM 16GB Huấn luyện mơ hình Google Colab Các thư viện khung học tập sử dụng: Python 3.8, Pytorch, OpenCV dùng để lập trình xử lý ảnh phần mềm Pycharm C# lập trình phần mềm Visual Studio sử dụng cho khả xây dựng giao diện giao tiếp người dùng điều khiển, giám sát hệ thống Mạch điều khiển van khí nén sử dụng vi điều khiển STM32F040F4 với ngơn ngữ lập trình C phần mềm STM32CubeIDE Các thử nghiệm dựa tập liệu thay đổi mơ hình PatchCore phát khuyết tật bề mặt nắp cao su thực Thử nghiệm với mơ hình PatchCore thay đổi tham số phù hợp giảm thiểu khả khớp (overfiting) mơ hình huấn luyện Cuối thử nghiệm với mơ hình hồn chỉnh hệ thống cung cấp, phát nắp cao su khuyết tật bề mặt Hình ảnh mơ hình thử nghiệm mơ tả hình 3.1 3.2 Bao gồm thành phần mô tả sau: 1: máy ảnh ống kính; 2: đèn led trịn; 3: máy rung cấp phơi; 4: băng tải; 5: máy tính trung tâm; 6: điều khiển máy rung cấp phơi; 7: vịi thổi khí nén; 8: cảm biến tiệm cận Hình Mơ hình thực nghiệm Mơ hình thực nghiệm đề tài dóc nhìn từ xuống hình 3.1 38 Hình Mơ hình thực nghiệm với góc nhìn khác Hình 3.2 thể góc nhìn khác tồn hệ thống sử dụng đề tài Đánh giá thảo luận Đánh giá Đánh giá kết mơ hình huấn luyện Kết mơ hình phát bất thường nắp cao su Một số kết nắp cao su bình thường dự đốn từ hệ thống thị giác máy hình 3.3 Hình 3 Ví dụ nắp cao su bình thường Luận văn sử dụng phương pháp kiểm tra 1.200 hình ảnh nắp cao su bình thường chọn ba khối ResNet 18 (tức Conv1 x, Conv2 x Conv3 x) để trích xuất tính kim tự tháp Các tham số mạng giáo viên mạng học sinh khởi tạo ngẫu nhiên từ giá trị Resnet 18 đào tạo trước ImageNet Hình ảnh lấy từ hệ thống chiếu sáng hồn chỉnh với tập liệu thay đổi kích thước thành 256 x 256 pixels để xử lý khuyết tật khu vực dự đốn với độ xác cao Tổng cộng 300 hình ảnh sử dụng để thử nghiệm Phương pháp tăng cường hình ảnh sử dụng 39 Hình Các kết đạt hệ thống phát khuyết tật nắp cao su Hình ảnh kết nắp cao su dự đốn có khuyết tật bề mặt số kết dự đoán thể hình 3.4 Các kết trả “Khơng đạt”, đồng nghĩa với nắp cao su nắp cao su lỗi cấu vịi thổi tia khí nén nhận nhiệm vụ loại bỏ nắp cao su khỏi dây chuyền cấp nắp Hình Dự đốn đốm kim loại khơng gán nhãn huấn luyện Hệ thống vượt trội với khả dự đốn nắp cao su khơng gán nhãn Ví dụ mơ tả hình 3.5, nắp cao su có xuất đốm kim loại bề mặt đốm kim loại không gán nhãn, nhiên hệ thống phát loại bỏ cách xác Hình Kết dự đốn ảnh lỗi ảnh bình thường 40 Tuy nhiên, hệ thống thị giác máy hạn chế, độ xác chưa cao Do đó, có trường hợp kết dự đoán ảnh lỗi thành ảnh bình thường nắp cao su hình 3.6 Để đánh giá cách công hiệu hoạt động mơ điểm mạnh hạn chế mơ hình nhiệm vụ phân loại, cần có số đánh giá Các số tính tốn dựa số lượng mẫu phân loại Đúng dương tính (TP), Dương tính giả (FP) Âm tính giả (FN) Các số tính tốn dựa số lượng mẫu phân loại Dương tính thật (TP), Dương tính giả (FP) Âm tính giả (FN) TP: số lượng điểm lớp dương tính phân loại dương tính TN: số lượng điểm lớp âm tính phân loại âm tính FP: số lượng điểm lớp âm tính bị phân loại nhầm thành dương tính FN: số lượng điểm lớp dương tính bị phân loại nhầm thành âm tính 2𝑇𝑃 PT 3.1 𝐹1 − 𝑠𝑐𝑜𝑟𝑒 = 2𝑇𝑃 + 𝐹𝑁 + 𝐹𝑃 Hiệu suất phát dị thường mơ hình STPMF hình ảnh đo số diện tích đường cong AUROC [32] số F1 [33] số mạnh mẽ để đánh giá hiệu suất mơ hình có tập liệu khơng cân nhắc đến nhiều nghiên cứu từ trước Mơ hình huấn luyện cho kết F1-score = 95.6% AUROC = 86.1% cấp độ pixel AUROC = 98.6% cấp độ hình ảnh Các thử nghiệm thực với mơ hình PatchCore với độ xác cấp độ hình ảnh AUROC = 84% cấp độ pixel AUROC = 95% So sánh hai mơ hình nhận thấy kết xử lý mơ hình STPMF có tốc độ xử lý cao yêu cầu thiết bị phần cứng thấp mơ hình PatchCore Đánh giá mơ hình thực nghiệm Tích hợp hệ thống thị giác máy với hệ thống cấp loại bỏ nắp cao su khuyết tật Thời gian chụp hình cho xử lý ảnh 0.5 giây, khoảng thời gian loại bỏ phôi 0.1 giây Hệ thống thực nghiệm tích hợp đáp ứng khả phát lỗi loại bỏ phôi lỗi với suất giây phơi lỗi Giao diện điều khiển bao gồm mơ hình dự đoán vùng dị thường nắp cao su gửi tín hiệu cho mạch điều khiển van khí nén Mơ hình thực nghiệm phân loại nắp cao su chai vaccine khuyết tật bề mặt với tổng số 30 nắp cao su bao gồm 10 nắp cao su lỗi 20 nắp cao su bình thường, nắp chai thử nghiệm lấy mẫu ngẫu nhiên 10 lần Do có 100 lần nắp chai cao su lỗi 200 lần nắp chai cao su thường thí nghiệm luận văn Đối với tỷ lệ nhận diện nắp cao su lỗi mơ hình thực nghiệm, hạn chế phần cứng mơ hình nên độ xác giảm 95%, số đánh giá dựa số khách quan F1-score theo phương trình PT3.1 Tỷ lệ nhận diện nắp cao su bình thường 99% Từ ta tính tỷ lệ loại mơ hình thử nghiệm bỏ sau: 5+2 PT 3.2 𝑇𝑙𝑏 = 100% − ∗ 100% 300 = 97.67% 41 Các kết mô tả bảng 3.1: Bảng 3.1 Bảng thống kê phần trăm nhận diện thời gian xử lý Loại phôi Tỷ lệ nhận diện Tỷ lệ loại bỏ xác Thời gian (giây / phôi) 0.50726 Phôi lỗi 95 % 97.67 % Phơi bình thường 99% Tỷ lệ loại bỏ phôi cấu chấp hành van điện từ vịi tia khí nén bao gồm tỷ lệ thổi trúng phôi tỷ lệ phát phôi lỗi từ hệ thống xử lý ảnh Thảo luận Mơ hình thử nghiệm đạt kết khả phát phân loại xác nắp cao su khuyết tật bề mặt Kết dự đoán phân loại tốt cho thấy phương pháp huấn luyện mô hình đề xuất luận văn đơn giản hiệu Điều hữu ích cho hoạt động độc lập mơ hình cơng nghiệp, tập liệu gắn nhãn thích chất lượng cao tốn nhiều thời gian tốn Hơn nữa, liệu thường xuất mà khơng có thơng báo từ trước khơng có thơng tin cụ thể Phương pháp trình bày luận văn phát khuyết tật ngồi thơng tin trích lọc để huấn luyện Tuy nhiên vài trường hợp, mơ hình dự đốn hình ảnh nắp cao su cịn cho kết dự đốn sai dự đốn sai hình ảnh nắp cao su bình thường thành nắp cao su lỗi hình ảnh nắp cao su lỗi mà mơ hình dự đốn nắp cao su bình thường Điều dẫn đến việc gửi tín hiệu xuống hệ thống vịi thổi tia khí nén loại bỏ phơi bình thường giữ lại phơi có khuyết tật ngược lại Đối với khả cấp phơi, cần có cấu chặn phôi trước đưa băng tải để xác định khoảng cách phôi di chuyển băng tải đồng Điều làm cho hệ thống xử lý ảnh xác mặt vị trí thời gian xử lý Hướng tới cấu vận chuyển cấp phôi khác để tăng tốc độ hệ thống tổng thể Hệ thống loại bỏ phơi sử dụng tia khí nén đạt độ xác cao, thời gian đáp ứng nhanh, phù hợp với hệ thống chọn Phương pháp thực ứng dụng nhiều mặt sản phẩm khác quy trình xử lý sản phẩm trước đóng gói khâu trung gian Kết hệ thống ứng dụng mở rộng vào thực tiễn công nghiệp cho khả phát đặc trưng chi tiết theo yêu cầu sản phẩm nhà máy bối cảnh công nghiệp 42 Tổng kết Từ kết tính tốn lập trình từ chương trước, chương đưa mơ hình thực nghiệm hệ thống, kết kiểm tra đánh giá phương diện khách quan Các kết luận ra: Kết phát loại bỏ nắp cao su khuyết tật hệ thống thực nghiệm đạt tốc độ phù hợp với suất đề Các kết hệ thống phát khuyết tật, hệ thống loại bỏ nắp cao su lỗi hệ thống cấp nắp cao su tích hợp thành hệ thống hồn tồn tự động phù hợp với thực trạng công nghiệp Tuy nhiên, mặt hạn chế hệ thống tồn đọng tỷ lệ nhận diện chưa hồn tồn xác tất suất hệ thống chưa cao 43 KẾT LUẬN VÀ ĐỀ XUẤT Kết luận Trong luận văn này, sở điều tra tài liệu nghiên cứu lý thuyết, luận văn giải pháp phát loại bỏ nắp chai cao su khuyết tật bề mặt hệ thống cấp nắp cao su tự động cấp thiết Hệ thống phát loại bỏ sớm nắp cao su khuyết tật mang ý nghĩa giảm ảnh hưởng tới chất lượng dược phẩm chai thủy tinh Trên sở thời gian thực nghiệm trình xử lý thông tin phù hợp với hệ thống cấp xử lý phát nắp cao su khuyết tật bề mặt tốc độ cao giảm ảnh hưởng tới suất cấp phơi Trên liệu hình ảnh tự xây dựng từ mơ hình cung cấp đánh giá vùng dị thường thông qua học không giám sát Ngoài khả phát lỗi nắp cao su phương pháp xác định nắp cao su bình thường Điều có ích cho thực tế sản xuất vùng dị thường xuất mà khơng có thơng tin khơng dự báo trước Ý nghĩa kết thu ứng dụng vào thực tế sản xuất công nghiệp khả thi Kiến nghị hướng nghiên cứu tiếp theo: Giải pháp nên ứng dụng vào dây chuyền đóng gói dược phẩm sử dụng nắp cao su chai thủy tinh nhằm bảo quản tốt cho dược phẩm q trình đóng gói khơng bị tác động người mơi trường phịng Mặc dù kết phân loại đạt hiệu suất tốt, nhiên cần phải bổ sung liệu ảnh dị thường nắp cao su để hiệu suất nâng cao kiểm tra khiếm khuyết bề mặt lại Thiết bị phần cứng cho q trình huấn luyện nâng cấp thêm card đồ họa q trình tính tốn xử lý đạt hiệu suất tốt Phát triển cấu để tạo nhịp vận chuyển phôi từ đầu bát rung cấp phôi vào vùng nhận dạng để giám sát tốc độ phù hợp với công suất băng tải tồn hệ thống 44 DANH MỤC CƠNG TRÌNH ĐÃ CÔNG BỐ Lê Giang Nam, Lê Xuân Trung, “Học không giám sát kiểm tra ngoại quan bề mặt nắp cao su”, Tạp chi Cơ khí Việt Nam, Số 297, tháng 12 năm 2022 Giang Nam Le, Xuan Trung Le, “The Application in Texture Surface Inspection with Anomaly Detection Based on Smart Camera and Flexible Vibration Feeders System”, IEEE Xplore: ICCRI, April 2023 45 TÀI LIỆU THAM KHẢO [1] Sujata Kaushik, Anjali Jain, Tina Chaudhary, N.R.Chauhan, "Machine vision based automated inspection approach for clutch friction disc (CFD)," materialstoday: PROCEEDINGS, vol 62, pp 151-157, 2022 [2] Nadia Moradi, Saeideh Gorji Kandi, Hossein Yahyaei, "A new approach for detecting and grading blistering defect of coatings using a machine vision system," Measurement, vol 203, p 111954, November 2022 [3] L Han and S K Tso, "Mechatronic design of a flexible vibratory feeding system," Institution of Mechanical Engineers, vol 217, no 6, https://doi.org/10.1243/09544050360673, 2003 [4] M V A Ali Ahmad Malikᵅ, "Advances in machine vision for flexible feeding of assembly parts," FAIM2019 [5] Han Liang, Wang Liyu, Hu Guoping, "A Study on the Machine Vision Assisted Vibratory Feeding System," Applied Mechanics and Materials, Trans Tech Publications, Switzerland, Vols 220-223, pp 1377-1380, 2012 [6] Jerome Paul N Cruz; Ma Lourdes Dimaala; Laurene Gaile L Francisco; Erica Joanna S Franco, "Object recognition and detection by shape and color pattern recognition utilizing Artificial Neural Networks," International Conference of Information and Communication Technology (ICoICT), 2013 [7] Yutaka Hirano, Christophe Garcia, Rahul Sukthankar & Anthony Hoogs , "Industry and Object Recognition: Applications, Applied Research and Challenges," Toward Category-Level Object Recognition, vol LNCS 4170, pp 49-64, 2006 [8] Bruce G Bachelor, Machine Vision Handbook, Springer-Verlag London Limited 2012 [9] Liang Hana, Huimin Lib, "A Study on Flexible Vibratory Feeding System Based on Smart Camera," International Symposium on Computers & Informatics (ISCI), 2015 [10] Liang Han, Jie Deng, "A Study on Flexible Vibratory Feeding System Based on HALCON Machine Vision Software," International Conference on Intelligent Systems Research and Mechatronics Engineering (ISRME), 2015 [11] Matthias Wieler, Tobias Hahn, Fred A Hamprecht, "Weakly Supervised Learning for Industrial Optical Inspection," https://hci.iwr.uniheidelberg.de/node/3616, 2007 [12] Yong Shi, Limeng Cui, Zhiquan Qi, Fan Meng, and Zhensong Chen, "Automatic road crack detection using randomstructured forests," IEEE Transactions on Intelligent Transportation Systems, pp 3434-3445, 2016 46 [13] Yi-Fan Chena, Fu-Sheng Yang, Eugene Su, Chao-Ching Ho, "Automatic Defect Detection System Based on Deep Convolutional Neural Networks," International Conference on Engineering, Science, and Industrial Applications (ICESI), 2019 [14] Jing Yang, Shaobo Li, Zheng Wang, Hao Dong, Jun Wang, Shihao Tang, "Using Deep Learning to Detect Defects in Manufacturing: A Comprehensive Survey and Current Challenges," Materials, www.mdpi.com/journal/materials, 2020 [15] Domen Tabernik, Samo Šela, Jure Skvarˇc, · Danijel Skoˇcaj, "Segmentation-based deep-learning approach for surface-defect detection," Journal of Intelligent Manufacturing, 2019 [16] Kunal J Pithadiya, "Inspection of Rubber Cap Using ISEF (Infinite Symmetric Exponential Filter): An Optimal Edge Detection Method," International Journal of Research in Engineering and Social Sciences, vol 6, no 8, pp 44-50, August, 2016 [17] S K A Sridhar Alla, Beginning Anomaly Detection Using Python-Based Deep Learning With Keras and PyTorch, ISBN: 978-1-4842-5177-5, 2019 [18] Efrem Heri Budiarto; Adhistya Erna Permanasari; Silmi Fauziati, "Unsupervised Anomaly Detection Using K-Means, Local Outlier Factor and One Class SVM," International Conference on Science and Technology (ICST), July 2019 [19] Karsten Roth, Latha Pemula, Joaquin Zepeda, Bernhard Schölkopf, Thomas Brox, Peter Gehler, "Towards Total Recall in Industrial Anomaly Detection," Computer Vision and Pattern Recognition, 2022 [20] Manpreet Singh Minhas, John Zelek, "Semi-supervised Anomaly Detection using AutoEncoders," Journal of Computational Vision and Imaging Systems, 2020 [21] Samet Akcay, Amir Atapour-Abarghouei, Toby P Breckon, "GANomaly: Semi-Supervised Anomaly Detection via Adversarial Training," arXiv:1805.06725v3 [cs.CV] Nov 2018 [22] Tom Pearson, "Machine Vision System for Automated Detection of Stained Pistachio Nuts," Western Regional Research Center, USDA-ARS, Albany CA 94710 (U.S.A.), 1995 [23] Nguyễn Văn Mùi, Lê Giang Nam, Bùi Quý Lực, "Luận án Tiến sĩ," Nghiên cứu ứng dụng mô số để khảo sát động lực học tối ưu kết cấu điều hướng hệ thống cấp phôi tự động theo nguyên lý rung động, Đại học Bách Khoa Hà Nội, 2019 47 [24] Karim Tout, "Automatic vision system for surface inspection and monitoring: Application to wheel inspection," HAL open science https://tel.archives-ouvertes.fr/tel-01801803v2, 2018 [25] Bruce G Batchelor (Ed.), Machine Vision Handbook, Library of Congress Control Number: 2011942208, Springer-Verlag London Limited 2012 [26] Đậu Sỹ Hiếu, Đ.Q Mỹ Hân, T.C Hỷ, L.N.A Khang, K.N.T Đạt, "Nghiên cứu ảnh hưởng hệ thống quang học hệ thống kiểm tra chất lượng dây chuyền sản xuất sản phẩm y tế ứng dụng thị giác máy tính," Khoa học Kỹ thuật Công nghệ, 2021 [27] Zhonghe Ren , Fengzhou Fang, Ning Yan, State of the Art in Defect Detection Based on Machine Vision, International Journal of Precision Engineering and Manufacturing-Green Technology, 2021 [28] Guodong Wang, Shumin Han, Errui Ding, Di Huang, "Student-Teacher Feature Pyramid Matching for Anomaly Detection," Computer Vision and Pattern Recognition, arXiv:2103.04257, 2021 [29] vKaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun, "Deep Residual Learning for Image Recognition," arXiv:1512.03385v1, 2015 [30] Lin Wang and Kuk-Jin Yoon, "Knowledge distillation and student-teacher learning for visual intelligence: A review and new outlooks," arXiv:2004.05937, 2020 [31] Qiwu Luo, Yigang He, "A cost-effective and automatic surface defect inspection system for hot-rolled flat steel," Robotics and ComputerIntegrated Manufacturing, pp 16-30, 2016 [32] Andrew P.Bradley, "The use of the area under the ROC curve in the evaluation of machine learning algorithms," Pattern Recognition, 1997 [33] Damien Fourure, M Usama Javaid, "Anomaly Detection: How to Artificially Increase your F1-Score with a Biased Evaluation Protocol," ECML-PKDD, 2021 48 PHỤ LỤC Hàm response_command: void response_command(uint8_t cmd_res){ switch(cmd_res){ case OPEN_CMD: uart_sent_buff(cmd_rpOpen_arary,sizeof(cmd_rpOpen_arary)); HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, GPIO_PIN_SET); HAL_Delay(100); HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, GPIO_PIN_RESET); rb_reset(&rb_uart); break; case CLOSE_CMD: uart_sent_buff(cmd_rpClose_array,sizeof(cmd_rpClose_array)); HAL_GPIO_WritePin(GPIOA, GPIO_PIN_7, GPIO_PIN_SET); HAL_Delay(100); HAL_GPIO_WritePin(GPIOA, GPIO_PIN_7, GPIO_PIN_RESET); rb_reset(&rb_uart); break; case CONNECT_CMD: uart_sent_buff(cmd_rpConnect,sizeof(cmd_rpConnect)); HAL_Delay(100); rb_reset(&rb_uart); break; case LOG_CMD: uart_sent_buff(cmd_logOpen,sizeof(cmd_logOpen)); HAL_Delay(100); rb_reset(&rb_uart); break; default: break; } } Hàm check_command: uint8_t check_command(void) { if(uart_available()>7) { uint8_t i=0; uint8_t buff_cmd[15]; while(uart_available()) { buff_cmd[i]=uart_read(); i++; HAL_Delay(1); } if(memcmp(buff_cmd,cmd_open_array,sizeof(cmd_open_array))==0) { return OPEN_CMD; } if(memcmp(buff_cmd,cmd_close_array,sizeof(cmd_close_array))==0) { return CLOSE_CMD; } if(memcmp(buff_cmd,cmd_connect,sizeof(cmd_connect))==0) { 49 return CONNECT_CMD; } return ERROR_CMD; } Các biến sử dụng: uint8_t uart_rxdata; uint8_t uart_buffer[100]; ring_buffer rb_uart; uint8_t status_cmd; uint8_t cmd_open_array[9] ={0x01,0x05,0x00,0x00,0xFF,0x00,0x8C,0x3A,0x0A}; uint8_t cmd_rpOpen_arary[9]= {0x01,0x05,0x00,0x00,0xFF,0x00,0x8C,0x3A,0x0A }; uint8_t cmd_close_array[9] ={0x01,0x05,0x00,0x01,0xFF,0x00,0xDD,0xFA,0x0A}; uint8_t cmd_rpClose_array[9]={0x01,0x05,0x00,0x01,0xFF,0x00,0xDD,0xFA,0x0A}; uint8_t cmd_connect[14] = "reject_connect\n" ; uint8_t cmd_rpConnect[16] = "reject_connected\n" ; uint8_t cmd_logOpen[10] = "logs_open\n"; Hàm phát khuyết tật bề mặt: # load model PATH_MODEL = "results/models/rubber/model_s2.pth" device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu') model_t = modified_resnet18().to(device) for param in model_t.parameters(): param.requires_grad = False model_t.eval() model_s = modified_resnet18(pretrained=False).to(device) model_s.load_state_dict(torch.load(PATH_MODEL, map_location=device)['model']) # model_s.to(device) model_s.eval() image_path = "image.jpg" image, _ = preprocessing.intit_image(image_path) transform_to_PIL = transforms.ToPILImage() scores = [] img = transform_to_PIL(image) with torch.set_grad_enabled(False): features_t = model_t(img) features_s = model_s(img) 50 score = cal_anomaly_maps(features_s, features_t) scores.extend(score) scores = np.asarray(scores) max_anomaly_score = scores.max() min_anomaly_score = scores.min() scores = (scores - min_anomaly_score) / (max_anomaly_score min_anomaly_score) print("scores", scores) if scores >= 0.3: cls_result = 'NOK' print(cls_result) else: cls_result = 'OK' print(cls_result) Hàm tiền xử lý ảnh: def intit_image(frame): # load image image_input = cv2.imread(frame) # start = time.time() image_ = cv2.cvtColor(image_input, cv2.COLOR_BGR2GRAY) image_ = cv2.GaussianBlur(image_input, (3, 3), 0) # thresh _, thresh = cv2.threshold(image_, 80, 250, cv2.THRESH_BINARY) # get the largest contour contours = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) contours = contours[0] if len(contours) == else contours[1] cnts = sorted(contours, key=cv2.contourArea, reverse=True) # Find bounding box and extract ROI for c in cnts: x, y, w, h = cv2.boundingRect(c) image_ROI = image[y:y + h, x:x + w] break image_result = cv2.resize(image_ROI, dsize=(512, 512)) h, w = image_result.shape[:2] # thresh _, thresh_ = cv2.threshold(image_result, 80, 250, cv2.THRESH_BINARY) # get the largest contour contours = cv2.findContours(thresh_, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) contours = contours[0] if len(contours) == else contours[1] 51 big_contour = max(contours, key=cv2.contourArea) # draw white contour on black background as mask mask = np.zeros((h, w), dtype=np.uint8) cv2.drawContours(mask, [big_contour], 0, (255, 125, 0), cv2.FILLED) # apply mask to image image_masked = cv2.bitwise_and(image_result, image_result, mask=mask) masked = np.zeros((h, w), dtype=np.uint8) cv2.imshow('image_masked', image_masked) cv2.waitKey(0) cv2.destroyAllWindows() print(image_masked.shape) return image_masked, masked 52