[发明专利]一种基于深度学习的椭圆识别方法有效
申请号: | 201910732288.4 | 申请日: | 2019-08-09 |
公开(公告)号: | CN110598692B | 公开(公告)日: | 2021-04-13 |
发明(设计)人: | 徐静;陈恳;刘炽成 | 申请(专利权)人: | 清华大学 |
主分类号: | G06K9/32 | 分类号: | G06K9/32;G06K9/46;G06N3/04;G06N3/08 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙) 11201 | 代理人: | 廖元秋 |
地址: | 100084*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 深度 学习 椭圆 识别 方法 | ||
1.一种基于深度学习的椭圆识别方法,其特征在于,该方法分为深度学习训练和边缘跟踪识别椭圆两个阶段,包括以下步骤:
1)深度学习训练阶段;具体步骤如下:
1-1)采集M张包含椭圆的图像作为训练输入图像,对每张训练输入图像包含的所有边缘信息进行人工标注,标注完毕后得到对应的边缘图像作为训练目标图像;每张训练输入图像和对应训练目标图像组成一个训练样本,所有训练样本构成训练数据集;
1-2)构建深度神经网络;该网络具有14层神经元,网络前7层为压缩层,压缩层每层的输入图像尺寸按照折半的方式依次减小,后面7层为生成层,生成层的每层输入图像尺寸按照翻倍的方式依次扩大,第7层生成层的输出图像尺寸和输入的图像尺寸一致;网络一共输出8幅图像,将第i幅输入图像的尺寸记为W×W,则第i幅输入图像对应的8幅输出图像Od0,i,Od1,i,Od2,i,Od3,i,Ou3,i,Ou2,i,Ou1,i,Ou0,i的尺寸分别为W×W,0.5W×0.5W,0.25W×0.25W,0.125W×0.125W,0.125W×0.125W,0.25W×0.25W,0.5W×0.5W,W × W ;其中,Odj,i为压缩层的输出,Ouj,i为生成层的输出,j=0,1,2,3,代表图像相比原始图像尺寸折半的次数;
1-3)利用训练数据集对深度神经网络进行迭代训练,得到训练完毕的深度神经网络;具体步骤如下:
1-3-1)随机初始化1-2)中建立的深度神经网络的参数,将初始深度神经网络作为当前神经网络;
1-3-2)令i=1;
1-3-3)利用当前深度神经网络预测训练数据集中每个训练输入图像对应的输出边缘图像;将第i幅训练输入图像记为X0,i,深度神经网络预测的8幅输出边缘图像分别为Odj,i和Ouj,i,j=0,1,2,3;
1-3-4)将第i幅训练输入图像X0,i对应的训练目标图像Y0,i连续折半降采样得到Yj,i,j=0,1,2,3,其中Y0,i尺寸为W×W,则Yj,i尺寸为0.5jW×0.5jW;
1-3-5)利用输出边缘图像Odj,i,Ouj,i和训练目标图像Yj,i构造多层误差Li,表达式如下:
1-3-6)利用梯度下降算法通过最小化Li对当前深度神经网络的参数进行更新,得到更新后的当前深度神经网络;
1-3-7)令i=i+1,然后重新返回步骤1-3-3),利用梯度下降算法通过最小化Li对当前深度神经网络进行迭代训练,直至所有训练样本都遍历一遍之后,重新返回步骤1-3-2)进行下一轮迭代训练直至平均误差连续5轮迭代训练不再下降,其中N为训练样本数量;取Lavg最小时的深度神经网络为训练完毕的深度神经网络;
2)边缘跟踪识别椭圆;具体步骤如下:
2-1)任意获取一张图像Xa0,将该图像输入步骤1)的训练完毕的深度神经网络,得到该网络第7层生成层输出图像Oa0;
2-2)对步骤2-1)得到的图像Oa0进行形态学瘦身处理,得到宽度为1个像素的边缘图像;
2-3)对步骤2-2)中宽度为1个像素的边缘图像进行边缘跟踪;具体步骤如下:
2-3-1)随机选取2-2)得到边缘图像里一个未被使用过的像素作为种子像素,该种子像素含有不多于两个8连通邻居;
2-3-2)初始化一条不含任何像素的空曲线作为当前边缘曲线,选择种子像素的任一个8连通邻居作为边界像素,并将该边界像素加入到当前边缘曲线中,所有加入当前边缘曲线的像素为已使用像素;
2-3-3)对边界像素进行判定:
若边界像素含有多于两个或少于两个8连通邻居,则结束种子像素与边界像素的连线方向的边缘跟踪,进入步骤2-3-5);若边界像素含有两个8连通邻居,则将边界像素两个8连通邻居中不在当前边缘曲线上的8连通邻居作为新的边界像素,并加入当前边缘曲线,进入步骤2-3-4);
2-3-4)重复步骤2-3-3),直到结束种子像素与边界像素的连线方向的边缘跟踪,进入步骤2-3-5);
2-3-5)若种子像素只有1个8联通邻居,则将步骤2-3-4)完成边缘跟踪的当前边缘曲线作为该种子像素的边缘曲线,进入步骤2-4);若种子像素有两个8连通邻居,则选取种子像素的另一个8连通邻居作为新的边界像素,重复2-3-2)到2-3-4),初始化一条新的当前边缘曲线,并完成种子像素与新的边界像素的连线方向的边缘跟踪,最后分别将步骤2-3-4)和2-3-5)完成边缘追踪的两条当前边缘曲线拼接成一条该种子像素的边缘曲线;
2-4)从步骤2-2)的边缘图像中随机选取一个新的未被使用过的像素,重复步骤2-3),直到所有未被使用的像素得到对应的边缘曲线;
2-5)扫描步骤2-4)得到的每条边缘曲线,在每条边缘曲线中曲率超过设定曲率阈值的地方断开该边缘曲线;
2-6)从步骤2-5)处理完毕的边缘曲线中删除直线度超过设定直线度阈值的边缘曲线;
2-7)对步骤2-6)处理完毕的每条边缘曲线的每个端点,计算与该端点相连得到平滑曲线的边缘曲线,并对计算得到的边缘曲线按照长度从大到小进行排序,取其中长度最大的边缘曲线作为该端点的邻居曲线;
2-8)从步骤2-6)处理完毕的边缘曲线中随机取一条边缘曲线,沿该边缘曲线任一个端点拼接该端点的邻居曲线,然后将对该邻居曲线未被用于拼接的端点继续拼接对应的邻居曲线,依次往下,直到无法拼接为止,将选取的边缘曲线以及每次拼接后得到的曲线组分别进行保存,得到该边缘曲线对应的中间过程曲线组以及最终拼接结果曲线组;
2-9)重复步骤2-8),直到得到所有边缘曲线分别对应的中间过程曲线组以及最终拼接结果曲线组;
2-10)计算步骤2-9)得到的每个曲线组的旋转角度,计算方法为从该曲线组的一个端点开始,沿着曲线累加旋转角度,直到该曲线组的另一个端点,累计的旋转角度记为该曲线组的旋转角度;
利用每个曲线组的旋转角度对所有曲线组进行筛选:若曲线组的旋转角度小于150度或大于400度则该曲线组是非法组合,将该曲线组删除;
2-11)对经过步骤2-10)筛选完毕后的每个曲线组拟合对应的椭圆,计算该曲线组上的像素到拟合对应椭圆的距离并进行判定:若到拟合对应椭圆距离小于一个像素距离的像素数量占所有像素数量低于设定的比例阈值则删除该椭圆,否则保留该椭圆;
2-12)对经过2-11)处理完毕的所有椭圆计算对应曲线组中像素到该椭圆距离小于一个像素距离的像素数量除以该椭圆周长的比值,按比值从大到小排序所有椭圆;
2-13)按顺序依次选取步骤2-12)中排序后的椭圆并进行判定:若选取的椭圆所用到的边缘曲线都未被消耗,则保留该椭圆,同时消耗拟合该椭圆所用的边缘曲线;否则删除该椭圆;对所有椭圆判定完毕后,最终保留的椭圆即为步骤2-1)获取图像对应的椭圆识别的结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910732288.4/1.html,转载请声明来源钻瓜专利网。