Paddle 印刷电路板(PCB)瑕疵检测

简介: Paddle 印刷电路板(PCB)瑕疵检测

框架介绍


PaddleDetection:飞桨推出的PaddleDetection是端到端目标检测开发套件,旨在帮助开发者更快更好地完成检测模型的训练、精度速度优化到部署全流程。该框架中提供了丰富的数据增强、网络组件、损失函数等模块,集成了模型压缩和跨平台高性能部署能力。目前基于PaddleDetection已经完成落地的项目涉及工业质检、遥感图像检测、无人巡检等多个领域。


印刷电路板(PCB)瑕疵数据集


印刷电路板(PCB)瑕疵数据集:数据下载链接,是一个公共的合成PCB数据集,由北京大学发布,其中包含1386张图像以及6种缺陷(缺失孔,鼠咬伤,开路,短路,杂散,伪铜),用于检测、分类和配准任务。我们选取了其中适用于检测任务的693张图像,随机选择593张图像作为训练集,100张图像作为验证集。


本项目选取yolov3_darknet.yml作为本项目的训练配置文件。该配置文件选取的是YOLOv3_darknet模型,骨干网络为DarkNet,yolo_head为YOLOv3Head。

yolov3_darknet_baseline.yml配置文件修改适配:
    max_iters: 2669
    num_classes: 6
    base_lr: 0.00025
    milestones: [1779, 2372]
yolov3_darknet_baseline.yml的Reader修改适配:
TrainReader:
    image_dir: images
    anno_path: Annotations/train.json
    dataset_dir: PCB_DATASET
EvalReader:
    image_dir: images
    anno_path: Annotations/val.json
    dataset_dir: PCB_DATASET
TestReader:
  anno_path: PCB_DATASET/Annotations/val.json


Anchor重新聚类


python tools/anchor_cluster.py -c ../yolov3_darknet_baseline.yml -n 9 -s 608 -m v2 -i 1000

结果如下:

anchors: [[8, 14], [13, 14], [10, 21],
           [21, 13], [16, 20], [12, 31],
           [30, 17], [22, 27], [36, 36]]


Anchor重新聚类完成后,修改配置文件中YOLOv3Head里的anchors字段,和TrainReader的Gt2YoloTarget中anchors字段。


训练与评估:

python -u tools/train.py -c yolov3_darknet_baseline.yml --eval
python -u tools/eval.py -c yolov3_darknet_baseline.yml -o weights=output/yolov3_darknet_baseline/best_model


最终评估结果如下图所示:


从上图中,可以看出YOLOV3_darknet模型在印刷电路板(PCB)瑕疵数据集数据集上的mAP = 34.9


补充


awesome-DeepLearning:一站式深度学习在线百科,内容涵盖零基础入门深度学习、产业实践深度学习、特色课程;深度学习百问、产业实践(开发中) 等等。从理论到实践,从科研到产业应用,各类学习材料一应俱全,旨在帮助开发者高效地学习和掌握深度学习知识,快速成为AI跨界人才。

目录
相关文章
|
9月前
|
数据采集 数据挖掘
基于PaddlePaddle的酒驾风险行为分析预测
基于PaddlePaddle的酒驾风险行为分析预测
70 0
|
12月前
|
算法 数据挖掘 数据处理
体细胞突变检测分析流程-系列1( WES&Panel)
体细胞突变检测分析流程-系列1( WES&Panel)
117 0
体细胞突变检测分析流程-系列1( WES&Panel)
|
11月前
|
C++ 计算机视觉 Python
Python+Yolov5电梯口跌倒识别
这篇博客针对<<Python+Yolov5电梯口跌倒识别>>编写代码,代码整洁,规则,易读。 学习与应用推荐首选。
110 0
|
编解码 数据可视化
基于PaddleOCR的多视角集装箱箱号检测识别
基于PaddleOCR的多视角集装箱箱号检测识别
基于PaddleOCR的多视角集装箱箱号检测识别
|
机器学习/深度学习 传感器 算法
一个关于有序统计类的恒虚警检测OS-CFARmatlab代码
一个关于有序统计类的恒虚警检测OS-CFARmatlab代码
|
机器学习/深度学习 传感器 算法
【芯片缺陷检测】基计算机视觉实现DIP芯片缺陷检测系统附GUI
【芯片缺陷检测】基计算机视觉实现DIP芯片缺陷检测系统附GUI
|
机器学习/深度学习 算法 自动驾驶
[Paddle Detection]基于PP-PicoDet行车检测(完成安卓端部署)
基于PP-PicoDet行车检测(完成安卓端部署)_哔哩哔哩_bilibili基于视觉深度学习的自动驾驶场景,旨在对车载摄像头采集的视频数据进行道路场景解析(行车检测),为自动驾驶提供一种解决思路。该项目使用bdd100k_car数据集训练,并完成了安卓部署。现如今,汽车在日益普及人们的生活,再给人们带来极大便利的同时也造成了拥堵的交通更为频发的交通事故。通过行车检测不仅能够更好的帮助司机检查路况,并且还能够更好的规化当前的路程管理,减轻道路的拥堵情况。 在车辆驾驶中主要考验的是司机如何应对其他行驶车辆的可
352 0
[Paddle Detection]基于PP-PicoDet行车检测(完成安卓端部署)
|
开发工具 计算机视觉 git
yolov5_reid【附代码,行人重识别,可做跨视频人员检测】
该项目利用yolov5+reid实现的行人重识别功能,可做跨视频人员检测。 应用场景: 可根据行人的穿着、体貌等特征在视频中进行检索,可以把这个人在各个不同摄像头出现时检测出来。可应用于犯罪嫌疑人检索、寻找走失儿童等。
559 0
|
传感器 开发框架 运维
【超简单】之基于PaddleX的2022“兴智杯”齿轮瑕疵检测训练
【超简单】之基于PaddleX的2022“兴智杯”齿轮瑕疵检测训练
343 0
【超简单】之基于PaddleX的2022“兴智杯”齿轮瑕疵检测训练
【超简单】之基于PaddleX的2022“兴智杯”齿轮瑕疵检测预测部分
【超简单】之基于PaddleX的2022“兴智杯”齿轮瑕疵检测预测部分
117 0
【超简单】之基于PaddleX的2022“兴智杯”齿轮瑕疵检测预测部分