nghiên cứu xây dựng hệ thống nhận diện vết xước trên bảng mạch điện tử sử dụng trí tuệ nhân tạo

72 31 1
nghiên cứu xây dựng hệ thống nhận diện vết xước trên bảng mạch điện tử sử dụng trí tuệ nhân tạo

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

00 BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CƠ KHÍ - - ĐỒ ÁN TỐT NGHIỆP CHUYÊN NGÀNH CƠ ĐIỆN TỬ Nghiên cứu, thiết kế hệ thống kiểm tra vết xước mạch điện tử sử dụng trí tuệ nhân tạo Giáo viên hướng dẫn: T.S Nguyễn Văn Trường Sinh viên thực hiện: Nguyễn Phi Long 2018600323 Đoàn Thị Ngọc Anh 2018600241 Lê Văn Tuyên 2018601451 Hà Nội – 2022 NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN GIÁO VIÊN HƯỚNG DẪN NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN GIÁO VIÊN PHẢN BIỆN MỤC LỤC MỤC LỤC I DANH MỤC HÌNH ẢNH III DANH MỤC BẢNG BIỂU V DANH MỤC TỪ VIẾT TẮT VI LỜI CẢM ƠN CHƯƠNG GIỚI THIỆU CHUNG VỀ HỆ THỐNG KIỂM TRA VIẾT XƯỚC TRÊN MẠCH ĐIỆN TỬ .2 1.1 Đặt vấn đề 1.2 Lý chọn đề tài 1.3 Mục đích nghiên cứu .4 1.4 Giới hạn nội dung nghiên cứu CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 Cơ sở lý thuyết xử lý ảnh 2.1.1 Tổng quan Thị giác máy tính thư viện OpenCV 2.1.2 Tổng quan trí thơng minh nhân tạo 2.1.3 Tổng quan Deep Learning .12 2.2 Xử lý ảnh xử dụng trí tuệ nhân tạo 14 CHƯƠNG TÍNH TỐN, THIẾT KẾ HỆ THỐNG KIỂM TRA VIẾT XƯỚC TRÊN MẠCH ĐIỆN TỬ 17 3.1 Sơ đồ tổng thể hệ thống .17 3.2 Tính tốn, thiết kế hệ thống khí 18 3.2.1 Tính tốn lựa chọn động cơ, băng tải 19 3.2.2 Tính toán thiết kế tay máy hút mạch .26 3.3 Tính tốn thiết kế hệ thống điều khiển 28 3.3.1 Thiết kế hệ thống khí nén .28 3.3.2 Thiết kế hệ thống điều khiển 30 3.4 Thiết kế hệ thống nhận vết xước mạch 31 3.4.1 Hiệu chỉnh camera 31 3.4.2 Thuật toán ORB kĩ thuật Brute Force matching 33 3.4.3 Quá trình huấn luyện mơ hình 40 3.5 Thiết kế giao diện cho hệ thống 42 3.5.1 Thiết kế hệ thống qua phần mềm QT Designer 42 3.5.2 Giao diện hệ thống 44 I CHƯƠNG KẾT LUẬN VÀ ĐỊNH HƯỚNG PHÁT TRIỂN 47 4.1 Kết đạt 47 4.2 Đánh giá .49 4.3 Hạn chế phương án giải 51 TÀI LIỆU THAM KHẢO 52 PHỤ LỤC 55 II DANH MỤC HÌNH ẢNH Hình 1: Hệ thống kiểm tra mạch công nghiệp Hình 2: Dây chuyền hệ thống kiểm tra mạch Hình 1: Quá trình phát triển Deep Learning 13 Hình 2: Mơ hình neural network đa tầng 14 Hình 3: Kiến trúc U-net (ví dụ cho 32x32 pixel độ phân giải thấp nhất) 15 Hình 1: Sơ đồ tổng thể 17 Hình 2: Bản vẽ thiết kế khí hệ thống 18 Hình 3: Động bước Nema 17 28 Hình 4: Hệ thống khí nén thiết kế phần mềm Festo Fluidsim 30 Hình 5: Hệ thống điều khiển thiết kế phần mềm Altium designer 31 Hình 6: Lưu đồ thuật tốn xử lí ảnh 31 Hình 7: Hình ảnh bàn cờ dùng để hiệu chỉnh camera 32 Hình 8: Ảnh mạch sau sử dụng thuật toán ORB 33 Hình 9: Matching keypoints 35 Hình 10: Matching keypoint ảnh 35 Hình 11: Quay chụp ảnh theo tham chiếu 37 Hình 12: Ảnh mask trừ ảnh 38 Hình 13: Mơ tả thuật tốn Dilation 39 Hình 14: Mơ tả thuật tốn Erode 39 Hình 15: Ảnh mask sau áp dụng dilation and erode 39 Hình 16: Vẽ boder xác định vùng lỗi 40 Hình 17: Google Colaboratory 41 Hình 18: Tệp liệu train nhận diện vết xước bảng mạch in 41 Hình 19: Kết huấn luyện mơ hình 42 Hình 20: Giao diện phần mềm QT designer 42 Hình 21: Giao diện chương trình 44 Hình 22: Bảng điều khiển 44 III Hình 23: Bảng lựa chọn cơng giao tiếp thơng số thuật tốn 45 Hình 24: Label thơng báo kết kiểm tra 45 Hình 25: Scroll bar hiển thị linh kiện lỗi 45 Hình 26: Dialog hiệu chỉnh camera 46 Hình 27: Dialog gán nhãn vùng linh kiện 46 Hình 1: Cấu trúc phần cứng hệ thống 47 Hình 2: Mơ hình hệ thống hồn thiện 48 Hình 3: Kết nhận diện điều kiện thiếu ánh sáng: a-U-net; b-YOLOv2 48 Hình 4: Kết nhận diện điều kiện đủ sáng: a-U-net; b-YOLOv2 48 Hình 5: Kết nhận diện điều kiện thừa sáng: a-U-net; b-YOLOv2 49 Hình 6: Độ xác hệ thống điều kiện thiếu sáng 50 Hình 7: Độ xác điều kiện đủ sáng 50 Hình 8: Độ xác hệ thống điều kiện thừa sáng 51 IV ➢ Dialog camera calibration (8) Hình 26: Dialog hiệu chỉnh camera Kế thừa lớp Dialog PyQt Thực chụp hiệu chỉnh camera Bao gồm khung hiển thị chỉnh nhận video từ camera, khung thị phụ hiển thị mạch chụp Các nút điều khiển thực chức capture camera, chụp mạch, calibrate camera, ➢ Label ROI (9) Hình 27: Dialog gán nhãn vùng linh kiện Kế thừa lớp Dialog PyQt Có nhiệm vụ thực chuẩn bị liệu cho thuật tốn Cắt vùng linh kiện dán nhãn cách tự động Giúp đơn giản hoá khâu chuẩn bị liệu cho sản phẩm 46 CHƯƠNG KẾT LUẬN VÀ ĐỊNH HƯỚNG PHÁT TRIỂN 4.1 Kết đạt Hình 1: Cấu trúc phần cứng hệ thống Đầu tiên camera chụp ảnh buồng sáng ảnh chuyển sang Jetson Nano Kit để bắt đầu xử lý ảnh Bộ Jetson cho phép chạy song song nhiều mạng đa nhiệm neural networks song song Do hệ thống làm việc với độ nhạy xác cao với cấu hình mà cung cấp: 472 GFLOPS để chạy thuật tốn AI đại nhanh chóng, với CPU ARM 64-bit lõi tứ, GPU NVIDIA 128 lõi tích hợp, nhớ LPDDR4 4GB Ở bước tiếp theo, ảnh đầu vào chuyển sang dạng tín hiệu analog truyền đến Arduino Mega- trung tâm điều khiển hệ thống Hệ thống điện tử bao gồm phần chính: Bộ điều khiển, Bộ truyền tải, Bộ xử lý ảnh, Tay hút mạch Màn hình hiển thị HMI Bộ truyền tải chia làm băng tải riêng biệt: băng tải thứ để đưa mạch vào buồng sáng để lấy ảnh đưa lên trung tâm xử lý băng tải thứ tiếp nối đưa mạch tiếp Về xử lý ảnh bao gồm camera dải led chiếu sáng giúp tối ưu hóa độ nét độ xác xử lý ảnh Tiếp tay hút mạch vận hành động bước, xilanh khí nén giác hút, mạch lỗi tay gắp hút mạch khỏi dây chuyền Cuối hình hiển thị HMI hiển thị giao diện hệ thống gồm đầy đủ thông tin tình trạng mạch 47 Hình 2: Mơ hình hệ thống hoàn thiện ❖ Kết nhận diện vết xước mạch Để thể hiệu phương pháp U-net việc nhận diện vết xước bo mạch, nhóm em so sánh kết tỷ lệ xác U-net YOLOv2 nhiệm vụ Đặc biệt với 500 mạch test mạch thử 200 lần nhóm em thu kết hình sau đây: (a) (b) Hình 3: Kết nhận diện điều kiện thiếu ánh sáng a-U-net; b-YOLOv2 (a) (b) Hình 4: Kết nhận diện điều kiện đủ sáng: a-U-net; b-YOLOv2 48 (a) (b) Hình 5: Kết nhận diện điều kiện thừa sáng: a-U-net; b-YOLOv2 Từ kết thấy điều kiện thiếu sáng đủ sáng độ xác nhận diện vết xước phương pháp tương đồng Tuy nhiên điều kiện ánh sáng chói YOLOv2 nhận diện vết xước U-net nhận diện toàn vết xước board mạch Sau thử nghiệm nhiều lần nhóm em thống kê độ xác phương pháp bảng sau đây: Bảng 1: Độ xác nhận diện U-net YOLOv2 U-net YOLOv2 Vết xước Vết xước Điều kiện chiếu sáng Loại mạch PCB Thiếu sáng Arduino Uno SMD 83.27% 40.15% Đủ sáng Arduino Uno SMD 97.11% 53.77% 81.24% 41.22% Thừa sáng Arduino Uno SMD Nhìn chung U-net cho thấy độ vượt trội hẳn mặt độ xác điều kiện loại mạch Cụ thể điều kiện chiếu sáng lý tưởng độ xác phương pháp sử dụng mạng U-net lên đến 97.11%, số gấp gần lần so với độ xác YOLOv2 điều kiện Ngồi điều kiện khác U-net có độ xác cao hẳn so với YOLOv2 Do việc nhận diện vết xước việc lựa chọn U-net tối ưu 4.2 Đánh giá Với loại mạch vết xước thử nghiệm 200 lần với đơn vị biểu đồ thống kê dựa kết đạt được: 49 Hình 6: Độ xác hệ thống điều kiện thiếu sáng Hình 7: Độ xác điều kiện đủ sáng 50 Hình 8: Độ xác hệ thống điều kiện thừa sáng Nhìn chung, hệ thống hoạt động ổn định trường hợp đủ sáng với độ xác với mạch từ 85% - 95%, trường hợp thiếu sáng, ánh sáng chói độ xác giảm mạnh khoảng 5-10% Năng suất hệ thống đạt tối đa 300 mạch/giờ 4.3 Hạn chế phương án giải Trong trình đưa vào hoạt động thử nghiệm, hệ thống có số hạn chế: Chưa tối ưu nhận diện vài kiểu vết xước Chưa nhận diện vết xước có kích thước nhỏ 1mm Từ đó, phương án giải đề xuất sau: ✓ Rút ngắn độ dài băng tải làm tăng suất hệ thống ✓ Sử dụng Camera độ phân giải cao giúp nhận diện vết xước có kích thước nhỏ 51 TÀI LIỆU THAM KHẢO [1] Clyde F Coombs, 2007 Printed circuits handbook McGraw–Hill Professional [2] X Luo and H Hu, 2020 Selected and refined local attention module for object detection electronics letters, vol 56, no 14, pp 712-714 [3] S K G Manikonda and D N Gaonkar, 2020 Islanding detection method based on image classification technique using histogram of oriented gradient features, IET Generation, Transmission & Distribution, vol 14, no 14, pp 2790-2799 [4] G A Tahir and C K Loo, 2020 An Open-Ended Continual Learning for Food Recognition Using Class Incremental Extreme Learning Machines, IEEE Access, vol 8, pp 82328-82346 [5] K Huang, H Yang, I King and M R Lyu, 2008 Maxi–Min margin machine: Learning large margin classifiers locally and globally, IEEE Transactions on Neural Networks, vol 19, no 2, pp 260-272 [6] D Martens, B B Baesens and T Van Gestel, 2009 Decompositional rule extraction from support vector machines by active learning," IEEE Transactions on Knowledge and Data Engineering, vol 21, no 2, pp 178-191 [7] E Pasolli, F Melgani and Y Bazi, 2011 Support vector machine active learning through significance space construction, IEEE Geoscience and Remote Sensing Letters, vol 8, no 3, pp 431-435 [8] G Krummenacher, C S Ong, S Koller, S Kobayashi and J M Buhmann, 2018 Wheel defect detection with machine learning, IEEE Transactions on Intelligent Transportation Systems, vol 19, no 4, pp 1176-1187 [9] P Kumar Shukla et al., 2020 Efficient prediction of drug–drug interaction using deep learning models, IET Systems Biology, vol 14, no 4, pp 211-216 [10] J S Shemona and A K Chellappan, 2020 Segmentation techniques for early cancer detection in red blood cells with deep learning-based classifier—a comparative approach, IET Image Processing, vol 14, no 9, pp 1726-1732 52 [11] A Alamri, et al., 2020 An effective bio-signal-based driver behavior monitoring system using a generalized deep learning approach, IEEE Access, vol 8, pp 135037-135049 [12] M Zhu and Q Chen, 2020 Big data image classification based on distributed deep representation learning model, IEEE Access, vol 8, pp 133890-133904 [13] J Jiang, J Cheng and D Tao, 2012 Color biological features-based solder paste defects detection and classification on printed circuit boards, IEEE Transactions on Components, Packaging and Manufacturing Technology, vol 2, no 9, pp 1536-1544 [14] Y Hara, H Doi, K Karasaki and T Iida, 1988 A system for PCB automated inspection using fluorescent light, IEEE Transactions on Pattern Analysis and Machine Intelligence, vol 10, no 1, pp 69-78 [15] Reinhard Klette (2014) Concise Computer Vision Springer ISBN 978-1-44716320-6 [16] Pulli, Kari; Baksheev, Anatoly; Kornyakov, Kirill; Eruhimov, Victor (1 April 2012) "Realtime Computer Vision with OpenCV" Queue 10 (4): 40:40–40:56 doi:10.1145/2181796.2206309 [17] Luger, George; Stubblefield, William (2004) Artificial Intelligence: Structures and Strategies for Complex Problem Solving (5th ed.) Benjamin/Cummings ISBN 978-0-8053-4780-7 Archived from the original on 26 July 2020 Retrieved 17 December 2019 [18] Bengio, Yoshua; LeCun, Yann; Hinton, Geoffrey (2015) "Deep Learning" Nature 521 (7553): 436–44, doi:10.1038/nature14539 [19] Hopfield, J J (1982) "Neural networks and physical systems with emergent collective computational abilities" Proc Natl Acad Sci U.S.A 79 (8): 2554– 2558, doi:10.1073/pnas.79.8.2554 [20] Van-Truong Nguyen, Huy-Anh Bui; “A REAL-TIME DEFECT DETECTION IN PRINTED CIRCUIT BOARDS APPLYING DEEP LEARNING”;2021 53 [21] K He, X Zhang, S Ren and J Sun, "Deep Residual Learning for Image Recognition," 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016, pp 770-778, doi: 10.1109/CVPR.2016.90 [22] Wei Liu, Dragomir Anguelov, Dumitru Erhan, Christian Szegedy, Scott Reed, Cheng-Yang Fu, Alexander C Berg, “SSD: Single Shot MultiBox Detector”, https://arxiv.org/abs/1512.02325v5 [23] Liang-Chieh Chen, George Papandreou, IEEE, Iasonas Kokkinos, Kevin Murphy, and Alan L Yuille, “DeepLab: Semantic Image Segmentation with Deep Convolutional Nets, Atrous Convolution, and Fully Connected CRFs”, arXiv:1606.00915v2 [cs.CV] 12 May 2017 [24] Adrian Kaehler and Gary Bradski, “Learning OpenCV Computer Vision in C++ with the OpenCV Library”, O’Reilly Media, Inc, 2017 [25] Rublee, Ethan; Rabaud, Vincent; Konolige, Kurt; Bradski, Gary (2011) "ORB: an efficient alternative to SIFT or SURF" (PDF) IEEE International Conference on Computer Vision (ICCV) [26] M.A Fischler and R.C Bolles Random sample consensus: A paradigm for model fitting with applications to image analysis and automated cartography Communications of the ACM, 24(6):381–395, 1981 [27] Roshan Jameer Patan, Madhuparna Chakraborty, Sarungbam Sanahanbi Devi; “Blind color image de-convolution in YUV space”; 2016 International Conference on Communication and Signal Processing (ICCSP) [28] Adrian Kaehler and Gary Bradski, “Learning OpenCV Computer Vision in C++ with the OpenCV Library”, O’Reilly Media, Inc, 2017 [29] ADIBHATLA, V.A., CHIH, H.C., HSU, C.C., CHENG, J., ABBOD, M.F., SHIEH, J.S., 2020, Defect Detection in Printed Circuit Boards Using YouOnly-Look-Once Convolutional Neural Networks, Electronics, 9, 1-9 [30] Y LeCun, B Boser, JS Denker, D Henderson, RE Howard, W Hubbard, LD Jackel, “Backpropagation Applied to Handwritten Zip Code Recognition,” Neural Computation, 1(4), 1989, p.p 541-551 [31] Zhuo Lan, Yang Hong, Yuan Li, “An improved YOLOv3 method for PCB surface defect detection”, 2021 IEEE International Conference on Power Electronics, Computer Applications (ICPECA) | 978-1-7281-9004-4/20/$31.00 ©2021 IEEE | DOI: 10.1109/ICPECA51329.2021.9362675 54 PHỤ LỤC Chương trình xử lí ảnh Bộ vẽ kỹ thuật hệ thống phân loại bảng mạch in PCB [1] Gối đỡ trục quay [2] Gối đỡ trục điều chỉnh [3] Gá cảm biến [4] Gá đỡ động băng tải [5] Gối đỡ trục chuyền động [6] Gá đỡ động tay máy [7] Gá đỡ động tay máy [8] Hộp đèn trợ sáng [9] Tấm chặn PCB lỗi [10] Hộp đèn trợ sáng [11] Chi tiết A-A [12] Chi tiết B-B [14] Chi tiết C-C [15] Bản vẽ khung [16] Bản vẽ phân rã [17] Bản vẽ lắp hệ thống khí Bản vẽ hệ thống điều khiển Lưu đồ thuật toán điều khiển hệ thống 55 Chương trình xử lí ảnh • Xoay ảnh trừ ảnh: #chương trình test import cv2 as cv import numpy as np def rotate_image (template_image,compare_image): gray_tem = cv.cvtColor(template_image,cv.COLOR_BGR2GRAY) gray_com = cv.cvtColor(compare_image,cv.COLOR_BGR2GRAY) orb_fe = cv.ORB_create() kp1,des1 = orb_fe.detectAndCompute(gray_com,None) kp2,des2 = orb_fe.detectAndCompute(gray_tem,None) bf = cv.BFMatcher(cv.NORM_HAMMING, crossCheck=True) matches = bf.match(des1, des2) matches = sorted(matches, key = lambda x:x.distance) diem_chon = [] ma_trix = [] kp2_moi = [] kp1_moi = [] ma_trix_1 = [] thresh_area = 200 kernel = np.ones((7,7),np.uint8) for i in range(len(matches[:20])): diem_chon.append(matches[i]) matchedVis = cv.drawMatches(template_image, kp1, compare_image, kp2,matches[:20], None) ptsA = np.zeros((len(matches[:50]), 2), dtype="float") ptsB = np.zeros((len(matches[:50]), 2), dtype="float") for (i, m) in enumerate(matches[:50]): ptsA[i] = kp1[m.queryIdx].pt ptsB[i] = kp2[m.trainIdx].pt (H, mask) = cv.findHomography(ptsA,ptsB ,method=cv.RANSAC) (h, w) = template_image.shape[:2] #ảnh sau quay aligned = cv.warpPerspective(compare_image, H, (w, h)) return aligned #trừ ảnh def subtract_image (aligned, template_image,area_thresh,solid_val,ratio_scale): error_box = [] template_image_hsv = cv.cvtColor(template_image,cv.COLOR_BGR2YUV) aligned_hsv = cv.cvtColor(aligned,cv.COLOR_BGR2YUV) kernel = np.ones((3,3),np.uint8) #trừ ảnh diff = cv.absdiff(aligned_hsv,template_image_hsv) gray = cv.cvtColor(diff,cv.COLOR_BGR2GRAY) ret,thres = cv.threshold(gray,25,255,cv.THRESH_BINARY)#17 opening = cv.morphologyEx(thres, cv.MORPH_OPEN, kernel) #show ảnh kết sau lọc nhiễu cv.imshow("img",opening) #tìm thơng số vùng lỗi output = cv.connectedComponentsWithStats(opening, 4, cv.CV_32S) (so_lop,lop,stat,centroid) = output h_,w_,_ = aligned.shape for i in range(0,so_lop): x = stat[i,cv.CC_STAT_LEFT] y = stat[i,cv.CC_STAT_TOP] w = stat[i,cv.CC_STAT_WIDTH] h = stat[i,cv.CC_STAT_HEIGHT] area = stat[i,cv.CC_STAT_AREA] scale_x = w/float(h) scale_y = h/float(w) solid = area/float(w*h) if hAreaValue and areaSolidValue and solid>0.4: cv.rectangle(aligned,(x,y),(x+w,y+h),(255,0,255),3) error_box.append((x,y,w,h)) img = aligned[y:y+h,x:x+w] rd = np.random.randint(0,200,1)[0] cv.imwrite("./ketqua/linhkien_{}.jpg".format(rd),img) elif h>w: if area>AreaValue and areaSolidValue and solid>0.4: cv.rectangle(aligned,(x,y),(x+w,y+h),(255,0,255),3) error_box.append((x,y,w,h)) return error_box,aligned,len(error_box) #hàm trả vùng lỗi(thông số cần thiết ) số vùng lỗi SolidValue = 0.395 RatioValue = 0.169 AreaValue = 386 framegoc=cv.imread('unotest.jpg',1) sampleImg=cv.imread('./info/anh_mau/uno_dan.jpg',1) img_ref =framegoc[:,742:742+702] sampleImg = cv.rotate(sampleImg,cv.ROTATE_90_COUNTERCLOCKWISE) alignedImg= rotate_image (sampleImg,framegoc) subtract_image (alignedImg, sampleImg, AreaValue, SolidValue, RatioValue) cv.imshow("abc",alignedImg) cv.imshow("sample",sampleImg) cv.imshow("test",framegoc) k= cv.waitKey(0)&0xFF • Test model u2net: from sklearn.model_selection import train_test_split import os import random import tensorflow as tf import cv2 import numpy as np import time # Import thu vien segmentation_models from segmentation_models.metrics import iou_score from segmentation_models import Unet import segmentation_models as sm from keras.models import load_model sm.set_framework("tf.keras") sm.framework() BACKBONE = "resnet34" model= Unet(BACKBONE,encoder_weights="imagenet",classes=1,activation="sigmoid",inpu t_shape=(512,512,3),encoder_freeze=True) loss1 = sm.losses.categorical_focal_dice_loss model.load_weights("./weight26.hdf5") img="./anh_def/duoi8.jpg" # Anh dau vao, ko phai mask image = cv2.imread(img) image = cv2.resize(image, (512, 512)) xanh_thap = np.array([40,40,40]) xanh_tren=np.array([120,120,120]) thresh=cv2.inRange(image,xanh_thap,xanh_tren) # Dua qua model de predicted segmentation map timer=time.time() mask_predict = model.predict(image[np.newaxis, :, :, :]) timer_last=time.time() deltime=timer_last-timer z = mask_predict[0,:,:,0]#[:, :, 0] arr=np.uint8(z*20) cv2.imwrite("mask.jpg",arr) ret,thres = cv2.threshold(arr,0,255,cv2.THRESH_BINARY) contours,hierachy = cv2.findContours(thres,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_NONE) for contour in contours: area = cv2.contourArea(contour) if(area > 80): x, y, w, h = cv2.boundingRect(contour) #frame = cv2.rectangle(image, (x, y), (x + w, y + h), (0, 255, 0), 2) frame1 = cv2.drawContours(image,contour, -1, (0,255,0), 3) cv2.imshow("predict1",frame1) print(type(image[0][0][1])) print(z.shape) print(type(z[0][0])) print(arr.shape) print(type(arr[0][0])) cv2.imshow("predict",thres) cv2.imshow("image",image) cv2.waitKey(0) ... nghiên cứu đề xuất để thực đề tài: ‘‘Nghiên cứu, thiết kế hệ thống kiểm tra viết xước mạch điện tử sử dụng trí tuệ nhân tạo? ?? Nghiên cứu đề xuất thực nhằm (1) Nghiên cứu trí tuệ nhân tạo; (2) Xây dựng. .. loại mạch in tự động ứng dụng trí tuệ nhân tạo; Thực nghiệm kiểm chứng hệ thống đề xuất • Mục tiêu kinh tế - xã hội: Xây dựng hệ thống phân loại bảng mạch điện tử lỗi ứng dụng trí tuệ nhân tạo. .. chọn đề tài “Nghiên cứu, thiết kế hệ thống kiểm tra viết xước mạch điện tử sử dụng trí tuệ nhân tạo? ?? ứng dụng cho kiểm tra ngoại quan khâu sản xuất mạch điện tử Ứng dụng cơng nghệ thị giác máy tính

Ngày đăng: 11/06/2022, 20:47

Hình ảnh liên quan

Mô hình YOLO Mô hình YOLO bao gồm mạng Darknet và thuật toán YOLO.  - nghiên cứu xây dựng hệ thống nhận diện vết xước trên bảng mạch điện tử sử dụng trí tuệ nhân tạo

h.

ình YOLO Mô hình YOLO bao gồm mạng Darknet và thuật toán YOLO. Xem tại trang 12 của tài liệu.
RGB Mô hình màu RGB - nghiên cứu xây dựng hệ thống nhận diện vết xước trên bảng mạch điện tử sử dụng trí tuệ nhân tạo

h.

ình màu RGB Xem tại trang 12 của tài liệu.
Hình 1. 1: Hệ thống kiểm tra mạch trong công nghiệp - nghiên cứu xây dựng hệ thống nhận diện vết xước trên bảng mạch điện tử sử dụng trí tuệ nhân tạo

Hình 1..

1: Hệ thống kiểm tra mạch trong công nghiệp Xem tại trang 14 của tài liệu.
Hình 1. 2: Dây chuyền hệ thống kiểm tra mạch - nghiên cứu xây dựng hệ thống nhận diện vết xước trên bảng mạch điện tử sử dụng trí tuệ nhân tạo

Hình 1..

2: Dây chuyền hệ thống kiểm tra mạch Xem tại trang 16 của tài liệu.
Kiến trúc mạng được minh họa trong hình trên. Nó bao gồm một hợp đồng đường dẫn (bên trái) và một đường mở rộng (bên phải) - nghiên cứu xây dựng hệ thống nhận diện vết xước trên bảng mạch điện tử sử dụng trí tuệ nhân tạo

i.

ến trúc mạng được minh họa trong hình trên. Nó bao gồm một hợp đồng đường dẫn (bên trái) và một đường mở rộng (bên phải) Xem tại trang 27 của tài liệu.
Hình 3. 1: Sơ đồ tổng thể - nghiên cứu xây dựng hệ thống nhận diện vết xước trên bảng mạch điện tử sử dụng trí tuệ nhân tạo

Hình 3..

1: Sơ đồ tổng thể Xem tại trang 29 của tài liệu.
Hình 3. 2: Bản vẽ thiết kế cơ khí của hệ thống - nghiên cứu xây dựng hệ thống nhận diện vết xước trên bảng mạch điện tử sử dụng trí tuệ nhân tạo

Hình 3..

2: Bản vẽ thiết kế cơ khí của hệ thống Xem tại trang 30 của tài liệu.
Chiều rộng đai răn gb lấy thiêu tiêu chuẩn trong bảng sau: - nghiên cứu xây dựng hệ thống nhận diện vết xước trên bảng mạch điện tử sử dụng trí tuệ nhân tạo

hi.

ều rộng đai răn gb lấy thiêu tiêu chuẩn trong bảng sau: Xem tại trang 33 của tài liệu.
Bảng 3. 3: Số răng của bánh đai răng nhỏ Z1 - nghiên cứu xây dựng hệ thống nhận diện vết xước trên bảng mạch điện tử sử dụng trí tuệ nhân tạo

Bảng 3..

3: Số răng của bánh đai răng nhỏ Z1 Xem tại trang 34 của tài liệu.
p – bước đai, mm, xem bảng. - nghiên cứu xây dựng hệ thống nhận diện vết xước trên bảng mạch điện tử sử dụng trí tuệ nhân tạo

p.

– bước đai, mm, xem bảng Xem tại trang 35 của tài liệu.
Trị số Zđ tính được cần làm tròn đến giá trị gần nhất cho trong bảng dưới và từ  Zđ đã chọn và môđun m xác định chiều dài đai ld (bảng 3.4) - nghiên cứu xây dựng hệ thống nhận diện vết xước trên bảng mạch điện tử sử dụng trí tuệ nhân tạo

r.

ị số Zđ tính được cần làm tròn đến giá trị gần nhất cho trong bảng dưới và từ Zđ đã chọn và môđun m xác định chiều dài đai ld (bảng 3.4) Xem tại trang 35 của tài liệu.
- qm là khối lượng 1 mét đai có chiều rộng 1mm, trị số của qm cho trong bảng. -K d là hệ số tải trọng động (bảng 3.5)  - nghiên cứu xây dựng hệ thống nhận diện vết xước trên bảng mạch điện tử sử dụng trí tuệ nhân tạo

qm.

là khối lượng 1 mét đai có chiều rộng 1mm, trị số của qm cho trong bảng. -K d là hệ số tải trọng động (bảng 3.5) Xem tại trang 37 của tài liệu.
Bảng 3. 5: Hệ số tải trọng động - nghiên cứu xây dựng hệ thống nhận diện vết xước trên bảng mạch điện tử sử dụng trí tuệ nhân tạo

Bảng 3..

5: Hệ số tải trọng động Xem tại trang 37 của tài liệu.
Bảng 3. 7: Hệ số ảnh hưởng Cz - nghiên cứu xây dựng hệ thống nhận diện vết xước trên bảng mạch điện tử sử dụng trí tuệ nhân tạo

Bảng 3..

7: Hệ số ảnh hưởng Cz Xem tại trang 38 của tài liệu.
Hình 3. 4: Hệ thống khí nén thiết kế trên phần mềm Festo Fluidsim - nghiên cứu xây dựng hệ thống nhận diện vết xước trên bảng mạch điện tử sử dụng trí tuệ nhân tạo

Hình 3..

4: Hệ thống khí nén thiết kế trên phần mềm Festo Fluidsim Xem tại trang 42 của tài liệu.
Hình 3. 6: Lưu đồ thuật toán xử lí ảnh - nghiên cứu xây dựng hệ thống nhận diện vết xước trên bảng mạch điện tử sử dụng trí tuệ nhân tạo

Hình 3..

6: Lưu đồ thuật toán xử lí ảnh Xem tại trang 43 của tài liệu.
Hình 3. 5: Hệ thống điều khiển thiết kế trên phần mềm Altium designer - nghiên cứu xây dựng hệ thống nhận diện vết xước trên bảng mạch điện tử sử dụng trí tuệ nhân tạo

Hình 3..

5: Hệ thống điều khiển thiết kế trên phần mềm Altium designer Xem tại trang 43 của tài liệu.
Hình 3. 9: Matching keypoints - nghiên cứu xây dựng hệ thống nhận diện vết xước trên bảng mạch điện tử sử dụng trí tuệ nhân tạo

Hình 3..

9: Matching keypoints Xem tại trang 47 của tài liệu.
Hình 3. 11: Quay chụp ảnh theo tham chiếu - nghiên cứu xây dựng hệ thống nhận diện vết xước trên bảng mạch điện tử sử dụng trí tuệ nhân tạo

Hình 3..

11: Quay chụp ảnh theo tham chiếu Xem tại trang 49 của tài liệu.
Hình 3. 13: Mô tả thuật toán Dilation - nghiên cứu xây dựng hệ thống nhận diện vết xước trên bảng mạch điện tử sử dụng trí tuệ nhân tạo

Hình 3..

13: Mô tả thuật toán Dilation Xem tại trang 51 của tài liệu.
Hình 3. 17: Google Colaboratory - nghiên cứu xây dựng hệ thống nhận diện vết xước trên bảng mạch điện tử sử dụng trí tuệ nhân tạo

Hình 3..

17: Google Colaboratory Xem tại trang 53 của tài liệu.
➢ Bảng nút điều khiển (3) - nghiên cứu xây dựng hệ thống nhận diện vết xước trên bảng mạch điện tử sử dụng trí tuệ nhân tạo

Bảng n.

út điều khiển (3) Xem tại trang 56 của tài liệu.
Hình 3. 23: Bảng lựa chọn công giao tiếp và thông số thuật toán  - nghiên cứu xây dựng hệ thống nhận diện vết xước trên bảng mạch điện tử sử dụng trí tuệ nhân tạo

Hình 3..

23: Bảng lựa chọn công giao tiếp và thông số thuật toán Xem tại trang 57 của tài liệu.
Hình 3. 27: Dialog gán nhãn vùng linh kiện - nghiên cứu xây dựng hệ thống nhận diện vết xước trên bảng mạch điện tử sử dụng trí tuệ nhân tạo

Hình 3..

27: Dialog gán nhãn vùng linh kiện Xem tại trang 58 của tài liệu.
Hình 4. 1: Cấu trúc phần cứng của hệ thống - nghiên cứu xây dựng hệ thống nhận diện vết xước trên bảng mạch điện tử sử dụng trí tuệ nhân tạo

Hình 4..

1: Cấu trúc phần cứng của hệ thống Xem tại trang 59 của tài liệu.
Hình 4. 3: Kết quả nhận diện trong điều kiện thiếu ánh sáng a-U-net; b-YOLOv2  - nghiên cứu xây dựng hệ thống nhận diện vết xước trên bảng mạch điện tử sử dụng trí tuệ nhân tạo

Hình 4..

3: Kết quả nhận diện trong điều kiện thiếu ánh sáng a-U-net; b-YOLOv2 Xem tại trang 60 của tài liệu.
Hình 4. 5: Kết quả nhận diện trong điều kiện thừa sáng: a-U-net; b-YOLOv2  - nghiên cứu xây dựng hệ thống nhận diện vết xước trên bảng mạch điện tử sử dụng trí tuệ nhân tạo

Hình 4..

5: Kết quả nhận diện trong điều kiện thừa sáng: a-U-net; b-YOLOv2 Xem tại trang 61 của tài liệu.
Hình 4. 7: Độ chính xác trong điều kiện đủ sáng - nghiên cứu xây dựng hệ thống nhận diện vết xước trên bảng mạch điện tử sử dụng trí tuệ nhân tạo

Hình 4..

7: Độ chính xác trong điều kiện đủ sáng Xem tại trang 62 của tài liệu.
Hình 4. 6: Độ chính xác của hệ thống trong điều kiện thiếu sáng - nghiên cứu xây dựng hệ thống nhận diện vết xước trên bảng mạch điện tử sử dụng trí tuệ nhân tạo

Hình 4..

6: Độ chính xác của hệ thống trong điều kiện thiếu sáng Xem tại trang 62 của tài liệu.
Hình 4. 8: Độ chính xác của hệ thống trong điều kiện thừa sáng - nghiên cứu xây dựng hệ thống nhận diện vết xước trên bảng mạch điện tử sử dụng trí tuệ nhân tạo

Hình 4..

8: Độ chính xác của hệ thống trong điều kiện thừa sáng Xem tại trang 63 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan