| 申请号 | CN202311538257.8 |
| 公开号(公开) | CN117934523A |
| 申请日 | 申请日 2023.11.17 |
| 申请人(公开) | 超音速人工智能科技股份有限公司(833753) |
| 发明人(公开) | 张俊峰(总); 杨培文(总); 沈俊羽; 张小村 |
原文摘要
本发明公开了一种曲线识别方法及系统,涉及边缘检测技术领域。该方法包括:通过曲线识别模型对输入图像进行卷积和下采样处理得到多层特征图,再经上采样和卷积处理后生成关键点热力图。训练阶段采用折线段拟合标注曲线,通过密集直线与曲线的交点生成标注点,并转换为高斯热力图进行模型训练。该方法解决了传统分割模型在窄曲线检测中易断裂、宽曲线后处理困难的问题,实现了各类曲线的精准识别。系统包括输入模块、采样模块和输出模块,可部署于电子设备及存储介质。本发明通过将曲线转换为密集离散点并训练热力图预测模型,有效提升了工业零件曲线边
AI摘要
本发明公开了一种曲线识别方法及系统,涉及边缘检测技术领域。该方法包括:通过曲线识别模型对输入图像进行卷积和下采样处理得到多层特征图,再经上采样和卷积处理后生成关键点热力图。训练阶段采用折线段拟合标注曲线,通过密集直线与曲线的交点生成标注点,并转换为高斯热力图进行模型训练。该方法解决了传统分割模型在窄曲线检测中易断裂、宽曲线后处理困难的问题,实现了各类曲线的精准识别。系统包括输入模块、采样模块和输出模块,可部署于电子设备及存储介质。本发明通过将曲线转换为密集离散点并训练热力图预测模型,有效提升了工业零件曲线边
术语
低层特征图包括尺寸为待检测图像尺寸1/4、1/8、1/16和1/32的特征图。
步骤
一,将待检测图像输入曲线识别模型中。
二,曲线识别模型对待检测图像进行卷积和下采样处理后,得到多个低层特征图;
三,再将低层特征图进行卷积和上采样处理后,得到多个尺寸相同的特征图;
四,再将所述多个尺寸相同的特征图进行相加后,用输出通道数为曲线类型数量的卷积进行处理,得到输出尺寸为(B,N,H,W)的关键点热力图,其中,B为输入图像的批次数,N为曲线类型数量,H为输入图像的高,W为输入图像的宽。
五,在得到关键点热力图后,还包括将关键点热力图进行最大池化处理,得到多个不同类型的关键点热力图。大池化处理的参数为kernal大小为3,步长为1,padding大小为1。
六,对曲线识别模型的训练方法,曲线模型的训练方法包括以下步骤:
采用折线段拟合的方式将图像样本中的待检测曲线标注出来,得到多条不同类型的标注曲线;
在图像上画出多条间隔相同的直线,将直线和标注曲线的交点作为标注点,得到多个不同类型的标准点,并删除所有标注曲线;
将标注点转换成基于高斯分布的热力图,且所有类型的标注点用同一热力图表示,得到多个不同类型的热力图样本;
将热力图样本和图像样本作为训练集输入曲线识别模型中,使热力图样本和图像样本拟合,以训练曲线识别模型,训练完成后,得到训练好的曲线识别模型。
七,画的直线的颜色为红色或绿色。
模块划分
输入模块,将待检测图像输入曲线识别模型中;
采样模块,对输入图像进行卷积和下采样处理后,得到多个低层特征图;
输出模块,将低层特征图进行卷积和上采样处理后,得到多个尺寸相同的特征图;将所述多个尺寸相同的特征图进行相加后,用输出通道数为曲线类型数量的卷积进行处理,得到输出尺寸为(B,N,H,W)的关键点热力图,其中,B为输入图像的批次数,N为曲线类型数量,H为输入图像的高,W为输入图像的宽。
硬件
工控机(工业电脑)、光源、显示器

扩展阅读
| 我想对大家说的话 |
|---|
| 工作中遇到的问题,可以按类别查阅鄙人的算法文章,请点击《算法与数据汇总》。 |
| 学习算法:按章节学习《喜缺全书算法册》,大量的题目和测试用例,打包下载。重视操作 |
| 有效学习:明确的目标 及时的反馈 拉伸区(难度合适) 专注 |
| 员工说:技术至上,老板不信;投资人的代表说:技术至上,老板会信。 |
| 闻缺陷则喜(喜缺)是一个美好的愿望,早发现问题,早修改问题,给老板节约钱。 |
| 子墨子言之:事无终始,无务多业。也就是我们常说的专业的人做专业的事。 |
| 如果程序是一条龙,那算法就是他的是睛 |
| 失败+反思=成功 成功+反思=成功 |
视频课程
先学简单的课程,请移步CSDN学院,听白银讲师(也就是鄙人)的讲解。
https://edu.csdn.net/course/detail/38771
如何你想快速形成战斗了,为老板分忧,请学习C#入职培训、C++入职培训等课程
https://edu.csdn.net/lecturer/6176
测试环境
操作系统:win7 开发环境: VS2019 C++17
或者 操作系统:win10 开发环境: VS2022 C++17
如无特殊说明,本算法 用**C++**实现。
