yolo定位识别法兰盘螺纹孔

一、将三幅边缘相机图像投射到中心相机平面并融合成一幅三通道图像

        Mat mergeImg;
        vector<Mat> channels;
        channels.push_back(imageResult1);
        channels.push_back(imageResult2);
        channels.push_back(imageResult3);
        merge(channels, mergeImg);
        imshow("mergeImg", mergeImg);
        imwrite("D:\\Graduate\\Data\\1114\\merge\\" + to_string(i) + ".jpg",mergeImg);

二、制作标签并扩充数据

使用imgaug扩充

iaa.Fliplr(1.0)
iaa.Flipud(1.0)
#实际使用以下指令,共30*5=150张
iaa.Affine(rotate=-30)
iaa.Affine(rotate=-15)
iaa.Affine(rotate=15)
iaa.Affine(rotate=30)

三、使用yolov5训练

1.将voc_to_coco.py中的class_names改为数据集中标注的类别名称

运行voc_to_coco.py,将标注格式转为txt并分将数据集分为训练集和测试集。

实际训练集为135张,测试集为15张

2.在 data/目录 下修改数据集配置文件custom_data.yaml

3.在models目录 下修改模型配置文件custom_yolov5s.yaml

设置epoch为1000,batch-size为4

epoch在274后,最近100个轮次都无改善,因此取最好的模型在274

实际测试效果是小螺纹孔没有定位结果,然后部分螺纹孔既识别为有螺纹又识别为无螺纹

yolo定位识别法兰盘螺纹孔_第1张图片

四、后续改进方案

标注时,增加两个类别,对应于有螺纹小螺纹孔和无螺纹小螺纹孔

依据后续待到的新工件制作更多的数据集得到可供论文使用的数据集
应于有螺纹小螺纹孔和无螺纹小螺纹孔

依据后续待到的新工件制作更多的数据集得到可供论文使用的数据集

你可能感兴趣的:(法兰盘螺纹定位与分类,opencv,图像处理)