Ứng dụng mạng nơron kiểm tra bảng mạch điện tử

pdf 10 trang phuongnguyen 150
Bạn đang xem tài liệu "Ứng dụng mạng nơron kiểm tra bảng mạch điện tử", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfung_dung_mang_noron_kiem_tra_bang_mach_dien_tu.pdf

Nội dung text: Ứng dụng mạng nơron kiểm tra bảng mạch điện tử

  1. ỨNG DỤNG MẠNG NƠRON KIỂM TRA BẢNG MẠCH ĐIỆN TỬ APPLICATION OF NEURAL NETWORKS IN INSPECTION OF PRINTED CIRCUIT BOARD (1) (2) Nguyễn Quốc Bình, Hoàng Minh Trí (1)Khoa Điện–Điện tử, Trường Đại Học Công Nghệ Sài Gòn (2)Khoa Điện – Điện tử, Trường Đại Học Bách Khoa Tp.HCM TÓM TẮT Kỹ thuật linh kiện dán bề mặt (SMT) hiện đang là công nghệ phổ biến và được sử dụng trong các nhà máy sản xuất bảng mạch điện tử (PCBs). Với giải pháp sử dụng linh kiện dán, quá trình sản xuất sẽ được cải thiện rõ ràng về tốc độ nhưng nguy cơ về các lỗi vì thế cũng tăng lên. Việc phát hiện lỗi trong quá trình sản xuất là cực kỳ quan trọng trong quá trình tối ưu hóa các quy trình công nghiệp. Trong bài báo này giới thiệu hệ thống tự độngkiểm tra bảng mạch điện tử bằng quang học dựa trên mạng nơron. Từ khóa: Tự động kiểm tra bằng quang học, mạng nơron, bảng mạch điện tử. ABSTRACT Surface mounted technology (SMT) is one of the most common technologies used in producing printed circuits boards (PCBs). By employing SMT, the production process speeds up, but the risk of defects increases. The defect detection on manufactures is extremely important in the optimization of industrial processes. This thesis introduces anautomatic optical inspection system defect of printed circuits boards based on Neural Networks. Từ khóa: Automated Optical Inspection (AOI), Neural Networks, printed circuit boards (PCBs). I. TỔNG QUAN Quá trình sản xuất bảng mạch điện tử với công nghệ SMT thường bao gồm ba giai đoạn chính: giai đoạn đầu tiên một lớp chì sẽ được phủ lên bề mặt của bảng mạch (solder printing), kế đến là quá trình lấy và đặt linh kiện (pick and place) và cuối cùng là các mối hàn được hình thành bởi giai đoạn gia nhiệt (reflow).Tại mỗi giai đoạn của quá trình sản xuất các lỗi khác nhau có thể xảy ra, ví dụ như mất chì dán (paste missing), chì dán bị dính giữa hai chân linh kiện (paste bridges) trong bước phủ chì, linh kiện bị dịch chuyển (components position shift), mất linh kiện (components missing) trong bước lấy và đặt linh kiện, lỗi mỗi hàn trong bước gia nhiệt. Đã có rất nhiều giải pháp cũng như thuật toán khác nhau cho vấn đề kiểm tra lỗi trên bảng mạch điện tử được các tác giả ngoài nước nghiên cứu thành công. Tuy nhiên mỗi giải pháp, thuật toán cũng thường cho phép nhận dạng một vài lỗi riêng biệt. Chẳng hạn như theo Ahmed Nabil BELBACHIR, Mario LERA, Alessandra FANNI, Augusto MONTISCI, IEEE, 2005. Tác giả đã sử dụng biến đổi wavelet để trích đặc trưng ảnh và mạng nơron lan truyền thẳng để nhận dạng lỗi [3]. Giải pháp trừ màu nền để phát hiện linh kiện bị mất hoặc sắp xếp không thẳng hàng (dịch chân IC) của tác giả K. Sundaraj [5]. Theo Xibing Li and Jianjia Wang, tháng 3-2013, tác giả đã sử dụng phương pháp trích đặc trưng theo hình dạng và đường viền của từng linh kiện trên bảng mạch kết hợp với việc phối hợp mẫu để phát hiện lỗi [6]. Phương pháp nhận dạng lỗi được giới thiệu trong bài báo này sử dụng một mạng nơron lan truyền thẳng nhiều lớp (Multilayer Perceptron Networks - MPL) kết hợp cách trích đặc trưng ảnh dựa trên bố cục hình học của các thành phần có trên bảng mạch điện tử và đặc trưng về phương sai, độ lệch chuẩn để nhận dạng
  2. lỗi. Phần tiếp theo của bài báo được chia làm ba phần như sau: trong phần 2 giới thiệu về hệ thống và ứng dụng mạng nơron nhận dạng lỗi. Phần 3 trình bày về kết quả thực nghiệm. Cuối cùng, kết luận được trình bày trong phần 4. II. PHƢƠNG PHÁP NGHIÊN CỨU A. TỔNG QUAN HỆ THỐNG Hệ thống nghiệm bao gồm: một thiết bị thu thập dữ liệu camera CCD (Charge-Coupled Device) mục đích làthu nhận ảnh và chuyển đổi thành dữ liệu có thể được lưu trữ bởi máy tính, kế đến là quá trình trích chọn đặc trưng được xử lý bằng máy tính mục đích là tìm ra các đặc trưng quan trọng nhất để biểu diễn cho ảnh nhằmgiảm kích thước dữ liệu ngõ vào cho qua trình nhận dạng lỗi và cuối cùng là mạng nơron sẽ đưa ra kết quả dựa trên tình trạng của bảng mạch cần kiểm tra. Mục đích của hệ thống nhận dạng lỗi là tự động phát hiện các lỗi mà có thể được quan sát bằng mắt thường. Hệ thống kiểm tra lỗi bảng mạch điện tử của bài báo làm việc giống như các hệ thống nhận dạng mẫu. Ở đây mẫu là các bảng mạch có chứa các thành phần linh kiện dán (SMT).Quá trình thực hiện của hệ thống được xử lý qua hai giai đoạn như được giới thiệu trong hình 1. Ảnh huấn luyện Ảnh huấn luyện (thu nhận từ camera) (thu nhận từ camera) Tiền xử lý Tiền xử lý (2) (1) Quá Trích chọn các đặc Trích chọn các đặc Quá trình trưng quan trọng trưng quan trọng trình kiểm huấn nhất nhất tra luyện CSDL Huấn luyện Mạng nơron Kết luận Hình 1: Quá trình xử lý của hệ thống Quá trình huấn luyện Một tập dữ liệu ảnh mẫu được lựa chọn bởi người vận hành hệ thống, qua giai đoạn tiền xử lý và trích đặc trưng để tạo cơ sơ dữ liệu cho mạng nơron. Mạng sẽ được huấn luyện nhằm nhận dạng tất cả lỗi có thể xảy ra. Mỗi mạng nơron được huấn luyện tương ứng cho một tập mẫu và các giá trị trọng số riêng của nó.
  3. Mạng nơron sẽ được huấn luyện lại mỗi lần có một ảnh mẫu mới (chẳng hạn ảnh có thêm linh kiện mới hoặc có khuyết điểm mới) được thêm vào cơ sở dữ liệu. Việc huấn luyện mạng có thể được thực hiện nhiều lần, cho đến khi kết quả phân loại của mạng là tốt nhất. Lúc này tập trọng số sẽ được lưu lại để thực hiện trong những lần huấn luyện sau. Quá trình kiểm tra Với bảng mạch cần kiểm tra, camera thu nhận ảnh bảng mạch. Ảnh này sẽ qua giai đoạn tiền xử lý và được trích các đặc trưng giống như các đặc trưng trong quá trình huấn luyện, các đặc trưng này sau đó được sử dụng như là một vectơ ngõ vào cho mạng nơron. Ngõ ra của mạng sẽ quyết định kết quả nhận dạng của hệ thống. Cơ sở dữ liệu Thành phần chính được lưu trữ trong cơ sở dữ liệu là các tập tin ảnh. Bao gồm tất cả các ảnh của bảng mạch bị lỗi và không bị lỗi, việc lựa chọn tập tin ảnh cho hệ thống sẽ được người vận hành thực hiện ngay lần đầu tiên một bảng mạch mới cần được kiểm tra. Các ảnh mẫu được lưu trữ trong cơ sở dữ liệu không sử dụng để kiểm tra nhưng nó sẽ giúp cho người vận hành hệ thống tham khảo khi phát sinh sự cố. Hệ thống thu thập ảnh Camera thu nhận ảnh được di chuyển bởi hệ trục X-Y và quét qua toàn bộ bảng mạch. Kích thước của vùng cần quan sát có thể được điều khiển bởi phần mềm, với phương pháp di chuyển camera sẽ cho kích thước phần cứng của hệ thống gọn hơn, linh hoạt hơn so với việc di chuyển bảng mạch. Nguồn chiếu sáng của hệ thống sử dụng Led ánh sáng trắng và được che chắn để tránh ánh sáng ngoài tác động. Hình 2: Mô hình hệ thống thực nghiệm B. ỨNG DỤNG MẠNG NƠRON KIỂM TRA BẢNG MẠCH ĐIỆN TỬ Mạng nơron được xây dựng là mạng lan truyền thẳng nhiều lớp, cấu trúc mạng được mô tả như trong hình 3. Các nơron của lớp ẩn sử dụng hàm chuyển đổi là hàm sigmoid lưỡng cực, các nơron của lớp ngõ ra sử dụng hàm chuyển đổi là hàm tuyến tính. Giải thuật huấn luyện được áp dụng trong nghiên cứu là giải thuật lan truyền ngược sai số (back propagation) sử dụng phương pháp hạ gradient (gradient descent approach) để tìm lượng điều chỉnh trọng số. Áp dụng sai số
  4. bình phương trung bình (Mean Squared Error – MSE) để xác định mục tiêu huấn luyện [1, 2]. Hình 3: Cấu trúc mạng nơron của hệ thống  là vector trọng số từ lớp ngõ vào (0) đến lớp ẩn (1). 10 휔푖푗 = i j là các trọng số từ lớp (0) đến lớp (1). v là vector trọng số từ lớp ẩn (1) đến lớp ra (2). 21 휔푖푗 = vi j là các trọng số từ lớp (1) đến lớp (2). Sai số bình phương trung bình (Mean Squared Error – MSE) trên P mẫu: 푃 1 2 = − 푛푒푡 (1.1) 푆 푃 =1 Luật học lan truyền sai số ngƣợc Với một cặp mẫu dữ liệu vào - ra cho trước, luật học lan truyền ngược thực hiện hai giai đoạn trong quá trình học cặp dữ liệu mẫu. Ở giai đoạn đầu, mẫu dữ liệu đầu vào x lan truyền theo chiều thuận từ lớp vào qua các lớp ẩn đến lớp ra để tạo ra tín hiệu ngõ ra y. Giai đoạn thứ hai, sai số giữa ngõ ra mạng và ngõ ra mong muốn e = (d - y) được lan truyền theo hướng ngược lại từ lớp ra qua các lớp ẩn trở về lớp vào, mục đích để điều chỉnh lại giá trị các trọng số giữa các lớp sao cho tín hiệu ngõ ra mạng y bám theo được tín hiệu mẫu ngõ ra mong muốn d. Huấn luyện mạng Quá trình huấn luyện mạng được bắt đầu với các giá trị trọng số tuỳ ý (các giá trị ngẫu nhiên) và tiến hành lặp đi lặp lại. Mỗi lần lặp được gọi là một epoch (chu kỳ tính toán). Trong mỗi epoch, mạng hiệu chỉnh các trọng số sao cho sai số giảm dần. Tiến trình điều chỉnh nhiều lần giúp cho trọng số dần dần đạt được tập hợp các giá trị tối ưu. Để cập nhật trọng số trong mỗi epoch, mạng phải xử lý tất cả các mẫu trong tập mẫu. Đối với từng mẫu, mạng thực hiện phép toán sau: Trước tiên, mạng thực hiện quá trình lan truyền tiến, nghĩa là mạng ánh xạ các dữ liệu của mẫu hiện hành tại ngõ vào thành các giá trị tại ngõ ratương ứng với các giá trị trọng số hiện hành. Ở những epoch đầu, các kết quả ởngõ ra thường chưa
  5. chính xác vì các trọng số ban đầu còn xa các giá trị đúng. Kế tiếp, sai số được tính dựa trên giá trị của kết quả ngõ ra và giá trị mong muốn. Trên cơ sở sai số tính toán được, mạng sẽ cập nhật lại các trọng số theo nguyên tắc lan truyền ngược sai số. Dữ liệu ngõ vào mạng Với mục đích giảm tối đa kích thước của dữ liệu đầu vào (ảnh bảng mạch) nhưng không làm mất đi tính chất của ảnh nhằm làm tăng tốc độ nhận dạng của hệ thống. Trong đề tài các đặc trưng được lựa chọn là các đặc trưng theo vùng dựa vào bố cục các thành phần linh kiện có trên bảng mạch điện tử và được định nghĩa theo (1.2) đến (1.14). Gọi S(m x n) là ma trận m hàng, n cột của ảnh cần kiểm tra và Sij là phần tử thứ ij của ma trận S. Ta có thể định nghĩa một số đặc tính như sau [4]: Tổng các giá trị điểm ảnh trong vùng cần quan sát hoặc diện tích (area) a và được định nghĩa: 푛 = 푆푖푗 (1.2) 푖=1 푗 =1 Tổng của hiệu các giá trị điểm ảnh liền kề nhau (hàng kế và cột kế) hoặc chu vi (perimeter) p và được định nghĩa: 푛 푛 = 푆푖푗 − 푆푖+1,푗 + 푆푖푗 − 푆푖,푗 +1 (1.3) 푖=1 푗 =1 푖=1 푗 =1 Chỉ số diện tích trên bình phương chu vi hoặc độ chặt (compactness) c và được định nghĩa: = (1.4) 2 Tổng của các giá trị điểm ảnh lớn nhất trong mỗi cột hoặc chiều cao (height) h và được định nghĩa: 푛 ℎ = 푆푖푗 (1.5) 푖 푗 =1 Tổng của các giá trị điểm ảnh lớn nhất trong mỗi hàng hoặc chiều ngang (width) w và được định nghĩa: 푤 = max 푆푖푗 (1.6) 푗 푖=1 Giá trị lớn nhất trong các giá trị tổng của mỗi cột hoặc chiều dài (length) l và được định nghĩa: 푙 = max 푆푖푗 (1.7) 푗 푖=1 Giá trị lớn nhất trong các giá trị tổng của mỗi hàng hoặc chiều rộng (breadth) b được định nghĩa: 푛 = max 푆푖푗 (1.8) 푖 푗 =1 Chỉ số của vùng hội tụ (the index of area convergence) i và được định nghĩa: 푖 = (1.9) 푙 Phương sai (variance) được xác định theo công thức:
  6. 푛 2 푣 = [푆푖푗 − 푣𝑔 푆 ] (1.10) 푖=1 푗 =1 Độ lệch chuẩn (standard deviation) biểu thị sự trải rộng của dữ liệu trong vùng được định nghĩa: m n 1 1 s = [S − avg S ]2 (1.11) m n ij i=1 j=1 Trong đó avg là giá trị trung bình của tất cả các pixel trong ảnh S(m x n) và được cho bởi công thức: 푛 1 1 𝑔 = 푣𝑔 푆 = 푆 (1.12) 푛 푖푗 푖=1 푗 =1 Tổng các giá trị điểm ảnh trên 2 đường chéo chính = 푆푖푗 (1.13) 푖,푗 =1 = 푆푖푗 푣ớ푖 푗 = 푛 + 1 − 푖 (1.14) 푖=1 Theo cách này mỗi ảnh có thể được biểu diễn bởi một vector P được tạo thành từ 12 đặc trưng như định nghĩa từ (1.2) đến (1.14). 푷 = [ , , , ℎ, 푤, 푙, , 푖, 푣, 푠, , ] Các vector này sẽ là ngõ vào cho mạng nơron. Hình 4: Giao diện ứng dụng của hệ thống thực nghiệm Trên giao diện ứng dụng các thống số của mạng có thể được thay đổi trước khi huấn luyện nhằm tìm ra các thông số tối ưu nhất cho mạng. III. KẾT QUẢ THỰC NGHIỆM Kết quả của bài báo được thực nghiệm trên 3 tập dữ liệu chụp từ các bảng mạch thực tế, tập dữ liệu thứ nhất chứa 15 ảnh mẫu trong đó có 7 ảnh không có lỗi và 8 ảnh có các lỗi về mối hàn và
  7. thiếu linh kiện. Tập dữ liệu thứ hai chứa 16 ảnh mẫu trong đó có 12 ảnh không có lỗi và 4 ảnh có các lỗi về mối hàn và thiếu linh kiện. Tập dữ liệu thứ ba chứa 22 ảnh mẫu trong đó có 18 ảnh không có lỗi và 4 ảnh có các lỗi về mối hàn và thiếu linh kiện. Kết quả thực nghiệm trong nghiên cứucó các thông số trong quá trình huấn luyện mạng như sau: 12 nơron lớp ẩn, mục tiêu huấn luyện 0.0001, hệ số học 1, chu kỳ huấn luyện 9000. Mạng được huấn luyện nhiều lần để tìm ra các trọng số liên kết giữa các nơron cho kết quả chính xác và tính tổng quát hóa cao nhất. Một số kết quả kiểm tra Hình 5: Kiểm tra mạch đúng Hình 6: Kiểm tra mạch lỗi thiếu linh kiện Hình 7: Kiểm tra mạch lỗi chì hàn Hình 8: Kiểm tra mạch dính chì Hình 9: Kiểm tra mạch thiếu chì Hình 10: Mẫu hệ thống không phân loại được Hình 11: Kiểm tra mạch lỗi thiếu linh kiện Hình 12: Kiểm tra mạch đúng
  8. Hình 13: Kiểm tra mạch đúng Hình 14: Kiểm tra mạch lỗi thiếu linh kiện Từ kết quả thực nghiệm của ba tập dữ liệu có thể rút ra một số kết luận nhƣ sau: Hệ thống sẽ có độ chính xác cao nếu có được tập ảnh mẫu đủ tốt (nhiều ảnh mẫu hơn với nhiều trường hợp lỗi khác nhau). Có thể tăng dần số nơron trong lớp ẩn đến khi đạt được kết quả mong muốn. Có thể khởi động và huấn luyện lại mạng nhiều lần, bởi vì mỗi lần huấn luyện lại mạng sẽ tạo ra tập thông số khác có thể sẽ cho kết quả tốt hơn. Kết quả kiểm tra đối với các ảnh có trong tập mẫu kết quả 100% mạng sẽ nhận dạng được đối với các lỗi như vết chì hàn và linh kiện bị mất. Đối với ảnh nằm ngoài tập mẫu có bố cục và điều kiện bên ngoài không có quá nhiều khác biệt 90% mạng sẽ phân loại được. IV. KẾT LUẬN Trong nghiên cứu này, một hệ thống tự động kiểm tra lỗi trên bảng mạch điện tử với công nghệ dán bề mặt dựa trên mạng nơron đã được đề xuất. Các bảng mạch thực tế đã được thực nghiệm cho thấy tính khả thi của hệ thống. TÀI LIỆU THAM KHẢO [1] TS. Ngô Văn Thuyên, slide bài giảng feedforward networks, Tài liệu tham khảo, 2013. [2] Phạm Hữu Đức Dục, Mạng nơron và ứng dụng trong điều khiển tự động, Nhà xuất bản khoa học và kỹ thuật, Hà Nội 2009, 292 trang. [3] Ahmed Nabil BELBACHIR, Mario LERA, Alessandra FANNI and Augusto MONTISCI, An Automatic Optical Inspection System for the Diagnosis of Printed Circuits Based on Neural Networks, IEEE, 2005. [4] Giuseppe Acciani, Gioacchino Brunetti and Girolamo Fornarelli, Application of Neural Networks in Optical Inspection and Classification of Solder Joints in Surface Mount Technology, IEEE, August 2006. [5] K. Sundaraj, PCB Inspection for Missing or Misaligned Components using Background Subtraction, Information Science and Applications, May 2009. [6] Xibing Li and Jianjia Wang, Defect Detection of SMT Electronic Modules, Natural Sciences Publishing Cor, 1 Mar 2013. [7] Mark Hudson Beale, Martin T. Hagan, Howard B. Demuth, Neural Network Toolbox™ User’s Guide, MathWorks 2013.
  9. Thông tin liên hệ tác giả Họ Tên: Nguyễn Quốc Bình. Đơn vị: Đại Học Công Nghệ Sài Gòn. Điện thoại: 0918388986. Email: binh.nguyenquoc@stu.edu.vn
  10. BÀI BÁO KHOA HỌC THỰC HIỆN CÔNG BỐ THEO QUY CHẾ ĐÀO TẠO THẠC SỸ Bài báo khoa học của học viên có xác nhận và đề xuất cho đăng của Giảng viên hướng dẫn Bản tiếng Việt ©, TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH và TÁC GIẢ Bản quyền tác phẩm đã được bảo hộ bởi Luật xuất bản và Luật Sở hữu trí tuệ Việt Nam. Nghiêm cấm mọi hình thức xuất bản, sao chụp, phát tán nội dung khi chưa có sự đồng ý của tác giả và Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh. ĐỂ CÓ BÀI BÁO KHOA HỌC TỐT, CẦN CHUNG TAY BẢO VỆ TÁC QUYỀN! Thực hiện theo MTCL & KHTHMTCL Năm học 2016-2017 của Thư viện Trường Đại học Sư phạm Kỹ thuật Tp. Hồ Chí Minh.