# yolov4-for-soldering **Repository Path**: swayzzu/yolov4-for-soldering ## Basic Information - **Project Name**: yolov4-for-soldering - **Description**: yolov4焊点检测 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2022-02-14 - **Last Updated**: 2022-10-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # yolov4-for-soldering #### 介绍 yolov4焊点检测 #### 项目情况 该项目中,焊点的误焊类型不一样,有少锡、多锡、连锡、错位等10种误焊方式。一方面有些类型如错位、多锡训练样本过少,只有十几个样本;另一方面,有些样本人工也无法判定到底属于哪类误焊,因此,该项目的结果判定方式为准确率,以判断焊点是否ok为准,训练过程中实际误焊类型也参与区分。 经过训练,模型对焊点检测的准确率为87%,符合项目要求。可直接进入img文件夹查看模型运行效果图片。 #### 模型结构 主干网络:CSPDarkNet53 特征提取/融合:SPP,PAN 激活函数:Mish 损失函数:交叉熵损失、CIOU #### 注意事项 标记类型以及解释如下: ok:正常焊点 sx:少锡 dx:多锡 jyr:胶压融,即焊点左右两侧的红色橡胶融化 lx:连锡 ys:压散 cw:错位 jp:胶皮,即胶皮未清理干净 jh:假焊 js:假焊少锡 xd:线断 根据实际样本数量,ok, sx, jyr, lx是相对较多的数据,其他数据样本较少,均为十几或几十个样本。 #### 训练策略 学习率策略:1e-3学习率500个epoch,1e-4学习率100个epoch,共计600个epoch。 数据增广:Mosaic数据增强、图像翻转、色域变换等。 图片尺寸:受显存限制,输入图像大小为416x416,而不是原模型中的608x608。 冻结训练:前50个epoch冻结backbone的参数训练,之后解冻,全部参数参与训练。 优化器:Adam NMS:增加了nms的后处理。由于一个焊点可能有不同的类别,因此在常规NMS基础上需要进一步处理,抑制掉置信度低的类别。 #### 预测步骤 从下面的链接下载训练好的文件,里面有两个文件,其中model_final_params.pth是最终的训练文件,另一个是backbone的预训练参数文件。 链接:https://pan.baidu.com/s/1UmJabmu796EkXd6GTCh2Ag 提取码:sway 下载完后将模型参数存入这个路径:model_data/model_final_params.pth,直接运行predict.py,输入 img/test_img1.jpg 预测结果在img文件夹中也有保存。 #### 评估步骤 1. 运行get_general_acc.py,即可得到test数据集上的评估结果。 #### 参考 https://github.com/bubbliiiing/yolov4-pytorch