CN110598692B - 一种基于深度学习的椭圆识别方法 - Google Patents
一种基于深度学习的椭圆识别方法 Download PDFInfo
- Publication number
- CN110598692B CN110598692B CN201910732288.4A CN201910732288A CN110598692B CN 110598692 B CN110598692 B CN 110598692B CN 201910732288 A CN201910732288 A CN 201910732288A CN 110598692 B CN110598692 B CN 110598692B
- Authority
- CN
- China
- Prior art keywords
- edge
- curve
- image
- ellipse
- pixel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/24—Aligning, centring, orientation detection or correction of the image
- G06V10/245—Aligning, centring, orientation detection or correction of the image by locating a pattern; Special marks for positioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Image Analysis (AREA)
Abstract
本发明提出一种基于深度学习的椭圆识别方法,属于模式识别技术领域。该方法在深度学习训练阶段,首先采集包含椭圆的图像并标注边缘后构建训练数据集;然后建立深度神经网络,利用训练数据集对深度经网络进行迭代训练,得到训练完毕的网络;在边缘跟踪识别椭圆阶段,将需要识别的图像输入训练完毕的网络,网络输出预测的边缘图像;然后采用边缘跟踪算法识别边缘图像中的椭圆,完成识别。本发明利用深度学习算法预测图像边缘,通过边缘跟踪算法识别椭圆,实现了基于深度学习的椭圆识别。
Description
技术领域
本发明属于模式识别技术领域,尤其涉及一种基于深度学习的椭圆识别方法。
背景技术
由于椭圆是最常见的几何图形之一,椭圆识别成为了许多计算机视觉应用的基础。例如椭圆识别可以用于表面检查,相机标定,物体区分,眼睛捕捉,道路交通标志识别和分类等领域。因此,从图像中鲁棒并稳定的识别椭圆是十分重要的。
现有的椭圆识别算法大致分为两类,一类是基于霍夫变换的椭圆识别算法,另一类是基于边缘跟踪的椭圆识别算法。基于霍夫变换的椭圆识别算法不仅效率低下,精度也不高,难以用于工业生成环境。而现有的基于边缘跟踪的椭圆识别算法都是基于图像梯度识别边缘,再基于边缘识别椭圆,对于工业环境的图片,由于图像梯度噪声较多,仅仅基于图像梯度无法很好识别图像边缘。此外,现有的基于边缘跟踪的椭圆识别算法都无法很好识别小椭圆(图像中半长轴小于10个像素的椭圆)。
发明内容
本发明的目的是为克服已有技术的不足之处,提出一种基于深度学习的椭圆识别方法。本发明采用深度学习算法识别边缘图像,可以克服图像梯度噪声多的问题,采用边缘跟踪算法在边缘图像上识别椭圆,优化了对小椭圆的识别,可以做到高精度,高召回率,有很高的应用价值。
本发明提出一种基于深度学习的椭圆识别方法,其特征在于,该方法分为深度学习训练和边缘跟踪识别椭圆两个阶段,包括以下步骤:
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)获取图像对应的椭圆识别的结果。
本发明的特点及有益效果在于:
本发明通过训练一个深度神经网络,可实现高噪音环境下边缘图像的识别,然后利用边缘跟踪算法,可以从边缘图像中识别椭圆。本发明适合用于工业环境识别椭圆,能很好处理工业环境图像高噪音以及小椭圆较多的问题,且识别结果精度和召回率高,有很高的应用价值。
附图说明
图1本发明实施例的整体流程图。
图2本发明实施例的深度神经网络结构示意图。
具体实施方式
本发明提出一种基于深度学习的椭圆识别方法,下面结合附图和具体实施例对本发明进一步详细说明如下。
本发明提出一种基于深度学习的椭圆识别方法,分为深度学习训练和边缘跟踪识别椭圆两个阶段,整体流程如图1所示,包括以下步骤:
1)深度学习训练阶段;具体步骤如下:
1-1)采集包含椭圆的图像作为训练输入图像,数量越多越好,本实施例采用81张网络收集的包含椭圆的图像作为训练输入图像,尺寸从200像素到1000像素均有覆盖,并对每张训练输入图像包含的所有边缘信息(不限于椭圆)进行人工标注,标注完毕后得到对应的边缘图像作为训练目标图像;每张训练输入图像和对应训练目标图像组成一个训练样本,所有训练样本构成训练数据集;
1-2)构建深度神经网络;深度神经网络的输入为包含椭圆的图像,输出为输入图像对应的边缘图像。该网络具有14层神经元,网络前7层为压缩层,压缩层每层的输入图像尺寸按照折半的方式依次减小,后面7层为生成层,生成层的每层输入图像尺寸按照翻倍的方式依次扩大,第7层生成层的输出图像尺寸和输入的图像尺寸一致。其中除合并层(图2中两长方形叠加形式表示的层)之外每层都接有一个输出模块,网络一共输出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;
图2为本发明实施例的深度神经网络结果示意图。其中1为输入图像,2为各层的输出图像。其中Pool,/2为折半池化层,Conv为卷积层,Conv,/2为折半卷积层,Trans,X2为翻倍生成层,Same相连的两个图形代表同一个中间变量;X0,i为第i幅输入图像,X1,i,X2,i,X3,i分别为X0,i缩小到二分之一、四分之一、八分之一的图像;Zdj,i为压缩层的中间变量,Zuj,i为生成层的中间变量,Odj,i为压缩层的输出,Ouj,i为生成层的输出,其中j=0,1,2,3,代表图像相比原始输入图像尺寸折半的次数;
1-3)利用训练数据集对深度神经网络进行迭代训练,得到训练完毕的深度神经网络;具体步骤如下:
1-3-1)随机初始化1-2)中建立的深度神经网络的参数,或者用一些成熟初始化算法。将初始深度神经网络作为当前神经网络;
1-3-2)令i=1;
1-3-3)利用当前深度神经网络预测训练数据集中每个训练输入图像对应的输出边缘图像,其中每幅训练输入图像对应8幅不同尺寸的输出边缘图像。将第i幅训练输入图像记为X0,i,深度神经网络预测的8幅输出边缘图像分别为Odi,i(j=0,1,2,3)和Ouj,i(j=0,1,2,3),下标带j的图像尺寸为原始图像的0.5j;
1-3-4)将第i幅训练输入图像X0,i对应的训练目标图像Y0,i连续折半降采样得到Yj,i(j=1,2,3),其中j代表折半降采样的次数,其中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)进行下一轮迭代训练直至到平均误差(其中N为训练数据集中训练样本数量)连续5轮迭代训练不再下降,取Lavg最小时的深度神经网络为训练完毕的深度神经网络;
2)边缘跟踪识别椭圆;具体步骤如下:
2-1)任意获取一张图像Xa0,将该图像输入步骤1)的训练完毕的深度神经网络,得到该网络第7层生成层输出图像Oa0;其中,图像Xa0可以是任意途径获得的图像;
2-2)对步骤2-1)得到的图像Oa0进行形态学瘦身处理(morphologicallythinning),得到宽度为1个像素的边缘图像;
2-3)对步骤2-2)中宽度为1个像素的边缘图像进行边缘跟踪;具体步骤如下:
2-3-1)随机选取2-2)得到边缘图像里一个未被使用过的像素(该边缘图像在初始状态下所有像素均未被使用)作为种子像素,同时该种子像素需满足只含有不多于两个8连通邻居,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)处理完毕的边缘曲线中删除直线度超过设定直线度阈值的边缘曲线,直线度阈值根据具体应用场景调节(本实施例取0.9);
2-7)对步骤2-6)处理完毕的每条边缘曲线的每个端点,计算可以与该端点相连得到平滑曲线的边缘曲线,并对计算得到的边缘曲线按照长度从大到小进行排序,取其中长度最大的边缘曲线作为该端点的邻居曲线;
2-8)从步骤2-6)处理完毕的边缘曲线中随机取一条边缘曲线,沿该边缘曲线任一个端点拼接该端点的邻居曲线,然后将对该邻居曲线未被用于拼接的端点继续拼接对应的邻居曲线,依次往下,直到无法拼接为止,将选取的边缘曲线以及每次拼接后得到的曲线组分别进行保存,得到该边缘曲线对应的中间过程曲线组以及最终拼接结果曲线组;例如若某条边缘曲线的最终拼接结果曲线组[P1,P2,P3]存在,那么中间过程[P1]和[P1,P2]也被保留,其中P1为随机选取的一条边缘曲线,P2为P1一个端点的邻居曲线,P3为P2未被用于拼接的端点对应的邻居曲线。
2-9)重复步骤2-8),直到所有边缘曲线分别对应的中间过程曲线组以及最终拼接结果曲线组;至此,得到一系列曲线组合;
2-10)计算步骤2-9)得到的每个曲线组的旋转角度,计算方法为从该曲线组的一个端点开始,沿着曲线累加旋转角度,直到该组合的另一个端点,累计的旋转角度记为该曲线组的旋转角度;
利用每个曲线组的旋转角度对所有曲线组进行筛选:若曲线组的旋转角度小于150度或大于400度则被认为该曲线组是非法组合,将该曲线组删除;
2-11)对经过步骤2-10)筛选完毕后的每个曲线组拟合对应的椭圆,计算该曲线组上的像素到拟合对应椭圆的距离,其中到拟合对应椭圆距离小于一个像素距离的像素数量占所有像素数量的比例不得低于设定的比例阈值,若小于一个像素距离的像素数量占所有像素数量低于设定的比例阈值则删除该椭圆,否则保留该椭圆(具体阈值选择根据实际应用场景决定,本实施例比例阈值取值为0.5);
2-12)对经过2-11)处理完毕的所有椭圆计算对应曲线组中像素到该椭圆距离小于一个像素距离的像素数量除以该椭圆周长的比值,并按比值从大到小排序所有椭圆;
2-13)按顺序依次选取步骤2-12)中排序后的椭圆并进行判定:若选取的椭圆所用到的边缘曲线都未被消耗,则保留该椭圆,同时消耗拟合该椭圆所用到的边缘曲线;否则删除该椭圆(即如果拟合该椭圆的边缘曲线全部或部分被消耗过,则删除该椭圆);对所有椭圆判定完毕后,最终保留的椭圆即为步骤2-1)获取图像对应的椭圆识别的结果。
本发明利用深度神经网络识别边缘图像,利用边缘跟踪算法识别椭圆,实现了基于深度学习的椭圆识别。
Claims (1)
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)获取图像对应的椭圆识别的结果。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910732288.4A CN110598692B (zh) | 2019-08-09 | 2019-08-09 | 一种基于深度学习的椭圆识别方法 |
PCT/CN2019/113241 WO2021027070A1 (zh) | 2019-08-09 | 2019-10-25 | 一种基于深度学习的椭圆识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910732288.4A CN110598692B (zh) | 2019-08-09 | 2019-08-09 | 一种基于深度学习的椭圆识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110598692A CN110598692A (zh) | 2019-12-20 |
CN110598692B true CN110598692B (zh) | 2021-04-13 |
Family
ID=68853697
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910732288.4A Active CN110598692B (zh) | 2019-08-09 | 2019-08-09 | 一种基于深度学习的椭圆识别方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110598692B (zh) |
WO (1) | WO2021027070A1 (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111724381B (zh) * | 2020-06-24 | 2022-11-01 | 武汉互创联合科技有限公司 | 基于多视图交叉验证的显微图像细胞计数与姿态识别方法 |
CN111724379B (zh) * | 2020-06-24 | 2024-05-24 | 武汉互创联合科技有限公司 | 基于组合视图的显微图像细胞计数与姿态识别方法及系统 |
CN113538488A (zh) * | 2021-07-16 | 2021-10-22 | 合肥国轩高科动力能源有限公司 | 一种bms充电口的识别方法 |
CN114283275B (zh) * | 2022-03-04 | 2022-08-16 | 南昌工学院 | 一种基于优化深度学习的多图形目标检测方法 |
CN114332667B (zh) * | 2022-03-17 | 2022-07-01 | 北京市农林科学院信息技术研究中心 | 玉米株型识别方法、装置、电子设备及存储介质 |
CN115311281B (zh) * | 2022-10-12 | 2023-11-24 | 深圳市芯盛长盈科技有限公司 | 一种晶片圆心校正方法 |
CN115497108B (zh) * | 2022-11-16 | 2023-03-14 | 南京信息工程大学 | 一种基于椭圆离心率的汉字骨架角点检测方法 |
CN115880303B (zh) * | 2023-03-08 | 2023-06-06 | 杭州凌像科技有限公司 | 用于pcb板圆孔的亚像素精度定位检测方法及系统 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000155841A (ja) * | 1998-11-19 | 2000-06-06 | Nippon Telegr & Teleph Corp <Ntt> | 図形認識方法、装置、および図形認識プログラムを記録した記録媒体 |
DE102012014113A1 (de) * | 2012-07-17 | 2013-01-17 | Daimler Ag | Verfahren zur Bestimmung von Stereo-Disparitätsdaten und Verfahren zur Erzeugung dreidimensionaler Bilder |
CN103593849B (zh) * | 2013-11-26 | 2017-02-01 | 北京建筑大学 | 一种用于影像序列椭圆形人工目标点快速识别与跟踪方法 |
CN103632366B (zh) * | 2013-11-26 | 2016-04-20 | 清华大学 | 一种椭圆目标的参数识别方法 |
CN104239870B (zh) * | 2014-09-25 | 2017-11-17 | 哈尔滨工业大学 | 一种基于曲线弧分割的椭圆检测方法 |
CN104391966B (zh) * | 2014-12-03 | 2017-09-29 | 中国人民解放军国防科学技术大学 | 基于深度学习的典型车标搜索方法 |
CN107577981A (zh) * | 2016-07-04 | 2018-01-12 | 高德信息技术有限公司 | 一种道路交通标识识别方法及装置 |
CN106372642B (zh) * | 2016-08-31 | 2023-11-03 | 北京航空航天大学 | 基于轮廓曲线分割弧合并与组合的椭圆快速检测方法 |
CN111263925B (zh) * | 2017-09-28 | 2022-06-14 | 苹果公司 | 用于使用事件相机数据的眼动跟踪的方法和设备 |
CN108509908B (zh) * | 2018-03-31 | 2022-05-17 | 天津大学 | 一种基于双目立体视觉的瞳孔直径实时测量方法 |
-
2019
- 2019-08-09 CN CN201910732288.4A patent/CN110598692B/zh active Active
- 2019-10-25 WO PCT/CN2019/113241 patent/WO2021027070A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
CN110598692A (zh) | 2019-12-20 |
WO2021027070A1 (zh) | 2021-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110598692B (zh) | 一种基于深度学习的椭圆识别方法 | |
Wang et al. | Video modeling with correlation networks | |
US10002313B2 (en) | Deeply learned convolutional neural networks (CNNS) for object localization and classification | |
Yang et al. | Multi-scale recognition with DAG-CNNs | |
CN107527007B (zh) | 在车辆图像处理系统中检测关注对象的方法 | |
US9633282B2 (en) | Cross-trained convolutional neural networks using multimodal images | |
CN111028217A (zh) | 一种基于全卷积神经网络的图像裂缝分割方法 | |
CN109766873B (zh) | 一种混合可变形卷积的行人再识别方法 | |
US20200134382A1 (en) | Neural network training utilizing specialized loss functions | |
CN106408037A (zh) | 图像识别方法及装置 | |
CN112633382A (zh) | 一种基于互近邻的少样本图像分类方法及系统 | |
CN110570443A (zh) | 一种基于结构约束条件生成模型的图像线状目标提取方法 | |
CN111881743B (zh) | 一种基于语义分割的人脸特征点定位方法 | |
CN108345835B (zh) | 一种基于仿复眼感知的目标识别方法 | |
Zamberletti et al. | Augmented text character proposals and convolutional neural networks for text spotting from scene images | |
Ignjatić et al. | Deep learning for historical cadastral maps digitization: Overview, challenges and potential | |
CN114626476A (zh) | 基于Transformer与部件特征融合的鸟类细粒度图像识别方法及装置 | |
CN114492634B (zh) | 一种细粒度装备图片分类识别方法及系统 | |
CN110688966B (zh) | 语义指导的行人重识别方法 | |
CN113191361A (zh) | 一种形状识别方法 | |
Gabriel et al. | Analysis of the discriminative generalized Hough transform as a proposal generator for a deep network in automatic pedestrian and car detection | |
Liang et al. | A novel deep network and aggregation model for saliency detection | |
CN111079585A (zh) | 基于深度学习的图像增强与伪孪生卷积神经网络结合的行人再识别方法 | |
Angelika Mulia et al. | YOLOv8 and Faster R-CNN Performance Evaluation with Super-resolution in License Plate Recognition | |
CN112699898B (zh) | 一种基于多层特征融合的图像方向识别方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |