穿越时空的凝视:西方文艺复兴的辉煌与我们
PCB表é�¢ç¼ºé™·æ£€æµ‹æ•°æ�®é›† å�«æœ‰xmlæ ‡ç¾æ–‡ä»¶ å�¯ç”¨äº�yolov3 yolov4 yolov5 yolov6 yolov7 yolov8ç›®æ ‡æ£€æµ‹å·¥ä¸šè‡ªåŠ¨åŒ–æ—¶ä»£PCBæ�¿ç¼ºé™·æ£€æµ‹æ˜¯è®¡ç®—机视觉领域的é‡�è¦�应用之一。今天我将带大家ä»�零开始æ�¢ç´¢å¦‚何利用公开的PCB缺陷检测数æ�®é›†ç»“å�ˆYOLO系列模å�‹æ‰“é€ ä¸€ä¸ªé«˜æ•ˆå®�用的缺陷检测系统。一ã€�PCB缺陷检测数æ�®é›†åˆ�æ�¢æˆ‘们使用的数æ�®é›†åŒ…å�«å¤§é‡�PCBæ�¿å›¾åƒ�æ¯�å¼ å›¾åƒ�都é…�有XMLæ ¼å¼�çš„æ ‡æ³¨æ–‡ä»¶ã€‚XML文件记录了æ¯�个缺陷的ä½�置和类å�‹å¦‚下所示annotation filenamepcb_
jpg/filename size width1920/width height1280/height /size object namemissing_pad/name bndbox xmin123/xmin ymin45/ymin xmax156/xmax ymax87/ymax /bndbox /object /annotation这个结æ�„åŒ–çš„æ ‡æ³¨ä¿¡æ�¯ä¸ºæˆ‘们å��ç»çš„æ•°æ�®å¤„ç�†å’Œæ¨¡å�‹è®ç»ƒæ��供了良好的基础。二ã€�æ•°æ�®åŠ è½½ä¸�å�¯è§†åŒ–我们å�¯ä»¥ç”¨PythonåŠ è½½è¿™äº›æ•°æ�®ã€‚以下是一个简å�•的数æ�®åŠ è½½è„šæœ¬import cv2 import xml.etree.ElementTree as ET def load_pcb_dataset(xml_path, img_path): root ET.parse(xml_path).getroot() img cv
imread(img_path) for obj in root.findall(object): name obj.find(name).text bbox obj.find(bndbox) xmin int(bbox.find(xmin).text) ymin int(bbox.find(ymin).text) xmax int(bbox.find(xmax).text) ymax int(bbox.find(ymax).text) # Draw bounding box cv
rectangle(img, (xmin, ymin), (xmax, ymax), (0,255,
,
cv
putText(img, name, (xmin, ymin-
, cv
FONT_HERSHEY_SIMPLEX,
5, (0,255,
,
cv
imshow(PCB Defect, img) cv
waitKey(
cv
destroyAllWindows() # 使用方法 load_pcb_dataset(annotations/pcb_
xml, images/pcb_
jpg)这段代ç �能帮我们直观看到PCBæ�¿ä¸Šçš„å�„ç§�缺陷类å�‹å�Šå…¶ä½�置。三ã€�基äº�YOLOçš„ç›®æ ‡æ£€æµ‹å®�战以YOLOv5为例我们æ�¥å±•示如何è®ç»ƒä¸€ä¸ªç¼ºé™·æ£€æµ‹æ¨¡å�‹å…ˆå®‰è£…å¿…è¦�的库pip install -U githttps://github.com/ultralytics/yolov5创建数æ�®é…�置文件train: ../train/images/ val: ../val/images/ nc: 10 # 缺陷类别数é‡� names: [missing_pad, extra_pad, broken_trace, ...]开始è®ç»ƒfrom yolov5 import train # 开始è®ç»ƒ train.run( datapcb.yaml, imgsz640, batch_size16, epochs50, weightsyolov5s.pt # 使用预è®ç»ƒæ�ƒé‡� )è¿™æ ·å°±èƒ½è®ç»ƒä¸€ä¸ªåŸºç¡€çš„缺陷检测模å�‹äº†ã€‚å››ã€�结æ�œå�¯è§†åŒ–è®ç»ƒå®Œæˆ�å��我们å�¯ä»¥æµ‹è¯•一下模å�‹æ•ˆæ�œfrom yolov5 import detect detect.run( weightsruns/train/exp/weights/best.pt, sourcetest_images/pcb_
jpg )通过以上æ¥éª¤æˆ‘们就能完æˆ�一个完整的PCB缺陷检测系统的æ�建。这个过程ä¸�仅让我们熟悉了数æ�®å¤„ç�†çš„æµ�程还亲身体验了ç�°ä»£ç›®æ ‡æ£€æµ‹æ¨¡å�‹çš„å¨�力。PCB表é�¢ç¼ºé™·æ£€æµ‹æ•°æ�®é›† å�«æœ‰xmlæ ‡ç¾æ–‡ä»¶ å�¯ç”¨äº�yolov3 yolov4 yolov5 yolov6 yolov7 yolov8ç›®æ ‡æ£€æµ‹å¸Œæœ›è¿™ç¯‡å�šæ–‡èƒ½ä¸ºä½ çš„å®�践之路æ��供一些å�¯å�‘如æ�œä½ 有其他创新的想法或é�‡åˆ°æœ‰è¶£çš„问题欢è¿�éš�时交æµ�
曾医生完整视频免费看-曾医生完整视频免费看应用